2015-11-02 59 views
3

如果没有评论,我已成功删除评论选项卡标题上的(0)。在市场营销中 - 最好的做法是不要显示产品有0条评论。这里是一个在WooCommerce插件文件WC-模板function.php发现,我已经把我的子主题的functions.php文件中的代码:删除WooCommerce Reviews选项卡上的(0)

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()), 

如果语句添加一个检查,如果没有意见,在该行改变这个上面一行像上面:

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

回答

2

这是相当简单。您可以更改标签的标题:

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

+0

啊 - 做到了。感谢你的帮助Alex。 – Shinosky

+0

谢谢剪切。我想如果审查0然后隐藏总数。我的意思是评论 目前还没有评论。会隐藏。任何想法如何 – pagol

+0

@pagol如果任何人如果因隐藏而无法进入评论选项卡,他们将如何发布评论? – Shinosky