在Woocommerce单个产品页面中显示空白(0)星级

时间:2018-11-26 19:03:14

标签: php wordpress woocommerce product rating

在我的WooCommerce产品页面中,只有当某人在标题下方提交评论时,星标才可见。但是我想在没有评论的情况下显示空白的[0]评分。

1 个答案:

答案 0 :(得分:2)

以下代码将处理单个产品页面上的评分计数显示(没有评论时显示零)

add_action('woocommerce_single_product_summary', 'change_single_product_ratings', 2 );
function change_single_product_ratings(){
    remove_action('woocommerce_single_product_summary','woocommerce_template_single_rating', 10 );
    add_action('woocommerce_single_product_summary','wc_single_product_ratings', 10 );
}

function wc_single_product_ratings(){
    global $product;

    $rating_count = $product->get_rating_count();

    if ( $rating_count >= 0 ) {
        $review_count = $product->get_review_count();
        $average      = $product->get_average_rating();
        $count_html   = '<div class="count-rating">' . array_sum($product->get_rating_counts()) . '</div>';
        ?>
        <div class="woocommerce-product-rating">
            <div class="container-rating"><div class="star-rating">
            <?php echo wc_get_rating_html( $average, $rating_count ); ?>
            </div><?php echo  $count_html ; ?>
            <?php if ( comments_open() ) : ?><a href="#reviews" class="woocommerce-review-link" rel="nofollow">(<?php printf( _n( '%s customer review', '%s customer reviews', $review_count, 'woocommerce' ), '<span class="count">' . esc_html( $review_count ) . '</span>' ); ?>)</a><?php endif ?>
        </div></div>
        <?php
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试并可以正常工作。