首页 文章

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

提问于
浏览
2

在我的WooCommerce产品页面中,仅当有人在 Headers 下方提交评论时,才会显示星级评分 . 但是,如果没有可用的评论,我想显示空白[0]评级 .

1 回答

  • 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文件中 . 测试和工作 .

相关问题