Categorías
woocommerce

Como personalizar la página de producto

Los códigos presentados deben ser incluido en la pagina de funtions.php del tema vigente o en su defecto en algun plugin que permitan php

Eliminar pestañas/tabs de la página de producto

Por defecto WooCommerce trae las siguientes pestañas o tabs:

  • Description, donde se muestra la descripción larga del producto.
  • Reviews, aquí aparecen las reseñas si las tienes activadas.
  • Aditional_information, muestra los atributos del producto.

Si deseas dejar alguna pestaña, puedes comentar la linea con // o directamente eliminarla

// Eliminar tabs
function woo_eliminar_tab($tab) {
  unset( $tab['description'] ); //Eliminar descripción larga
  unset( $tab['reviews'] ); // Eliminar las reseñas
  unset( $tab['additional_information'] ); // Eliminar información adicional
  return $tab;
}
add_filter( 'woo_eliminar_tab', 'woo_remove_product_tab', 98);

Añadir una pestaña con información extra

// Add tab
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tab ) {
  // Adds the new tab
  $tabs['envio_tab'] = array(
    'title'=> __('Título de la pestaña', 'woocommerce' ),
    'priority'=> 50,
    'callback'=> 'woo_new_product_tab_content'
  );
  return $tab;
}
// Añadir el contenido que va dentro de la nueva pestaña
function woo_new_product_tab_content() {
  echo '<h2>Gastos de envío gratis</h2>';
}

Mover los productos relacionados a una pestaña

// Eliminar los productos relacionados de su posición original
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20);
// Agregar una nueva tab
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
  $tabs['related_products'] = array(
    'title'     => __( 'Título de la pestaña', 'woocommerce' ),
    'priority'  => 50,
    'callback'  => 'woo_new_product_tab_content'
  );
return $tabs;
}
// Añadir los productos relacionados a la pestaña
function woo_new_product_tab_content() {
  woocommerce_related_products();
}

Como cambiar el numero de productos relacionados

Modificaremos el número de posts_per_page por el numero que queramos de productos relacionados que salgan.

function woo_related_products_limit() {
  global $product;
  $args = array(
    'post_type' => 'product',
    'no_found_rows' => 1,
    'posts_per_page' => 3,
    'ignore_sticky_posts'=> 1,
    'orderby' => $orderby,
    'post__in' => $related,'post__not_in' => array($product->id)
  );
  return $args;
}
add_filter( 'woocommerce_related_products_args', 'woo_related_products_limit' );

Como modificar el orden de las pestañas

add_filter( 'woocommerce_product_tabs', 'woo_reorder_tabs', 98 );
function woo_reorder_tabs( $tabs ) {
  $tabs['reviews']['priority'] = 5; // Reseñas primera
  $tabs['additional_information']['priority'] = 10; // Información adicional la segunda
  $tabs['description']['priority'] = 15; // Descripción la tercera
  return $tabs;
}

Si hemos añadido alguna pestaña extra, tendremos que añadirla con el nombre de la pestaña que hallamos añadido, poniendo el ejemplo anterior, sería.

add_filter( 'woocommerce_product_tabs', 'woo_reorder_tabs', 98 );
function woo_reorder_tabs( $tabs ) {
  $tabs['reviews']['priority'] = 5; // Reseñas primera
  $tabs['additional_information']['priority'] = 10; // Información adicional la segunda
  $tabs['description']['priority'] = 15; // Descripción la tercera
  $tabs['envio_tab']['priority'] = 20; // Gastos de envio la cuarta
  return $tabs;
}

Como cambiar el titulo de las pestañas

add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );
function woo_rename_tabs( $tabs ) {
  $tabs['description']['title'] = __( 'Descripción' ); // Cambia el nombre de la pestaña Descripcion
  $tabs['reviews']['title'] = __( 'Reseñas' ); // Cambia el nombre de la pestaña valoraciones/reseñas
  $tabs['additional_information']['title'] = __( 'Otra información' ); // Cambia el nombre de la pestaña Informacion adicional
  return $tabs;
}

Cómo ocultar el número de referencia/SKU

add_filter( 'wc_product_sku_enabled', '__return_false' );

Como cambiar el número de miniaturas/thumbnails que aparece debajo de la imagen principal

Cambiaremos en número que hay detrás del return por el número de thumbnails que deseemos.

add_filter ( 'woocommerce_product_thumbnails_columns', 'xx_thumb_cols' );
function xx_thumb_cols() {
  return 3;
}

Como mostrar el número de unidades vendidas

add_action( 'woocommerce_single_product_summary', 'woo_product_sold_count', 11 );
function woo_product_sold_count() {
  global $product;
  $units_sold = get_post_meta( $product->id, 'total_sales', true );
  echo '<p>' . sprintf( __( 'Unidades vendidas: %%s', 'woocommerce' ), $units_sold ) . '</p>';
}