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>';
}