按产品ID获取产品评级

时间:2017-09-11 作者:ttn_

如何在没有循环的情况下按product\\u id获得产品评级?

我有一个product\\u id,我想获得产品评级,我如何才能做到这一点,这是可行的?感谢

3 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

给定产品ID,您可以获得如下平均评级:

$product = wc_get_product( $product_id );
$rating  = $product->get_average_rating();
这将返回原始数字(4.00、3.50等)。

要输出给定产品的分级HTML,可以使用以下代码:

$product = wc_get_product( $product_id );
$rating  = $product->get_average_rating();
$count   = $product->get_rating_count();

echo wc_get_rating_html( $rating, $count );
或者,如果您在循环中,可以使用此函数获取当前产品的HTML:

woocommerce_template_loop_rating() 

SO网友:Samael Pereira SImões

这对我帮助很大,创建了get\\u star\\u rating()函数并返回html。

注意:如果在循环中

function get_star_rating() {

    global $woocommerce, $product;  

    $average      = $product->get_average_rating();
    $review_count = $product->get_review_count();

    return \'<div class="star-rating">
                <span style="width:\'.( ( $average / 5 ) * 100 ) . \'%" title="\'. 
                  $average.\'">
                    <strong itemprop="ratingValue" class="rating">\'.$average.\'</strong> \'.__( \'out of 5\', \'woocommerce\' ).                              
                \'</span>                    
            </div>\'.\'
            <a href="#reviews" class="woocommerce-review-link" rel="nofollow">( \' . $review_count .\' )</a>\';

}

SO网友:Tarani Joshi

您可以获取loop top rating产品

$args_top_rating1 = array(
    \'post_type\' => \'product\',
    \'meta_key\' => \'_wc_average_rating\',
    \'orderby\' => \'meta_value\',
    \'posts_per_page\' => 8,
    \'status\'=>\'publish\',
    \'catalog_visibility\'=>\'visible\',
    \'stock_status\'=>\'instock\'
);

$top_rating = new WP_Query( $args_top_rating1 );


 while ( $top_rating->have_posts() ) : $top_rating->the_post(); global $product; 

        $urltop_rating = get_permalink($top_rating->post->ID) ;

$rating_count = $product->get_rating_count();

$average_rating = $product->get_average_rating();

echo wc_get_rating_html( $average_rating, $rating_count);  


endwhile;

结束

相关推荐

如何删除WP-PostRating插件的消息输出?

当用户单击投票图像时,图像将变为投票状态。如果用户再次单击处于投票状态的图像,将弹出一条消息,说明:你已经给这篇文章打分了。Post ID#X我希望它不会弹出此消息,“投票”图像保持原样。下面是我认为进行此更改所需的相关代码。它来自wp postratings的558-633行。php。如果有人能看一看,让我知道我需要改变什么,我将非常感激。### Function: Process Ratings process_ratings(); function process_ratings()