如何在WooCommerce的产品上显示空星?

时间:2017-11-29 作者:Toby Van der Veer

如何始终显示评级,即使它是空的?这是为woocommerce设计的,用于流行产品和新产品等产品框,不必显示在单个产品页面上。

2 个回复
SO网友:Fatema Tuz Zuhora

将以下代码添加到函数中。php

add_action(\'woocommerce_after_shop_loop_item_title\',\'change_loop_ratings_location\', 2 );
function change_loop_ratings_location(){
remove_action(\'woocommerce_after_shop_loop_item_title\',\'woocommerce_template_loop_rating\', 5 );
add_action(\'woocommerce_after_shop_loop_item_title\',\'woocommerce_template_loop_rating\', 15 );
}
然后再添加以下行以获得评级计数

add_filter( \'woocommerce_product_get_rating_html\', \'loop_product_get_rating_html\', 20, 3 );
function loop_product_get_rating_html( $html, $rating, $count ){
    if ( 0 < $rating && ! is_product() ) {
        global $product;
        $rating_cnt = array_sum($product->get_rating_counts());
        $count_html = \' <div class="count-rating">\' . $rating_cnt .\'</div>\';

        $html       = \'<div class="container-rating"><div class="star-rating">\';
        $html      .= wc_get_star_rating_html( $rating, $count );
        $html      .= \'</div>\' . $count_html . \'</div>\';
    }
    return $html;
}

SO网友:amin

在你的函数中试试这个。php:

add_filter(\'woocommerce_product_get_rating_html\',function ( $html, $rating, $count){
    $label = sprintf( __( \'Rated %s out of 5\', \'woocommerce\' ), $rating );
    $html  =\'<div class="star-rating" role="img" aria-label="\' . esc_attr( $label ) . \'">\' . wc_get_star_rating_html( $rating, $count ) . \'</div>\';
    return $html;
},9999,3);

结束

相关推荐

使用wp-Postrating在个人资料页面上对用户进行评级

我在我的网站上使用wp postratings,我想将其包含在我的会员buddypress档案中,以便其他用户可以对其进行评分。我将该功能放在配置文件页面上,但单击评级时它不会做任何事情。有什么想法可以帮我补充一下吗?