Eliminando el (0) en la pestaña de Reseñas de WooCommerce

2 minutos de lectura

Logré eliminar el (0) en el encabezado de la pestaña Reseñas cuando no hay reseñas. En marketing, probablemente sea una buena práctica no mostrar que un producto tiene 0 reseñas. Aquí está el código que he colocado en el archivo functions.php de mi tema secundario que se encuentra en el archivo del complemento WooCommerce wc-template-function.php:

if ( ! function_exists( 'woocommerce_default_product_tabs' ) ) {

/**
 * Add default product tabs to product pages.
 *
 * @param array $tabs
 * @return array
 */
function woocommerce_default_product_tabs( $tabs = array() ) {
    global $product, $post;

    // Description tab - shows product content
    if ( $post->post_content ) {
        $tabs['description'] = array(
            'title'    => __( 'Description', 'woocommerce' ),
            'priority' => 10,
            'callback' => 'woocommerce_product_description_tab'
        );
    }

    // Additional information tab - shows attributes
    if ( $product && ( $product->has_attributes() || ( $product->enable_dimensions_display() && ( $product->has_dimensions() || $product->has_weight() ) ) ) ) {
        $tabs['additional_information'] = array(
            'title'    => __( 'Additional Information', 'woocommerce' ),
            'priority' => 20,
            'callback' => 'woocommerce_product_additional_information_tab'
        );
}

    // Reviews tab - shows comments
    if ( comments_open() ) {
    $check_product_review_count = $product->get_review_count();
    if ( $check_product_review_count == 0 ) {
        $tabs['reviews'] = array(
            'title'    => sprintf( __( 'Reviews', 'woocommerce' ) ),
            'priority' => 30,
            'callback' => 'comments_template'
        );
        }
        else {
        $tabs['reviews'] = array(
            'title'    => sprintf( __( 'Reviews (%d)', 'woocommerce', $product->get_review_count() ), $product->get_review_count() ),
            'priority' => 30,
            'callback' => 'comments_template'
        );
        }
    }

    return $tabs;
}
} 

Mi pregunta es: ¿es esta la forma más eficiente de modificar esto sin cambiar los archivos principales de woocommerce? La función “woocommerce_default_product_tabs” es una función conectable, pero parece que de alguna manera podría usar un filtro en lugar de copiar toda esta función en mi tema secundario y editarla desde allí. Solo necesito llegar a esta línea de código:

title'    => sprintf( __( 'Reviews (%d)', 'woocommerce', $product->get_review_count() ),

Y agregue una declaración if para verificar si no hay comentarios para cambiar esta línea anterior como en la línea anterior:

title'    => sprintf( __( 'Reviews', 'woocommerce' ),

avatar de usuario
Alex

Es bastante fácil. Puede cambiar el título de cualquier pestaña:

add_filter( 'woocommerce_product_tabs', 'wp_woo_rename_reviews_tab', 98);
function wp_woo_rename_reviews_tab($tabs) {
    global $product;
    $check_product_review_count = $product->get_review_count();
    if ( $check_product_review_count == 0 ) {
        $tabs['reviews']['title'] = 'Reviews';
    } else {
        $tabs['reviews']['title'] = 'Reviews('.$check_product_review_count.')';
    }
    return $tabs;
}

  • Sí, eso lo hizo. Gracias por tu ayuda Álex.

    – Shinosky

    08/12/2015 a las 19:50

  • gracias por esquilar. Quiero si revisa 0 y luego oculta el total. Me refiero a RESEÑAS Aún no hay reseñas. se esconderá alguna idea de cómo

    – pagol

    9 de abril de 2016 a las 3:37

  • @pagol ¿Cómo va alguien a publicar una reseña si no puede acceder a la pestaña de reseñas porque está oculta?

    – Shinosky

    5 oct 2017 a las 20:11

¿Ha sido útil esta solución?