Удаление (0) на вкладке WooCommerce Reviews

Мне удалось удалить заголовок (0) на вкладке «Отзывы», когда нет отзывов. В маркетинге — это, вероятно, лучшая практика, чтобы не показывать, что продукт имеет 0 отзывов. Вот код, который я поместил в файл functions.php моей дочерней темы, который находится в файле плагина 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;
}
}

Мой вопрос — это самый эффективный способ изменить это без изменения основных файлов woocommerce? Функция «woocommerce_default_product_tabs» является подключаемой функцией, но кажется, что я мог бы каким-то образом использовать фильтр вместо того, чтобы копировать всю эту функцию в мою дочернюю тему и редактировать ее оттуда. Мне просто нужно получить эту строку кода:

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

И добавьте оператор if, чтобы проверить, нет ли комментариев для изменения этой строки выше, как в строке выше:

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

3

Решение

Это довольно легко. Вы можете изменить название любой вкладки:

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

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]