如何在没有循环的情况下按product\\u id获得产品评级?
我有一个product\\u id,我想获得产品评级,我如何才能做到这一点,这是可行的?感谢
如何在没有循环的情况下按product\\u id获得产品评级?
我有一个product\\u id,我想获得产品评级,我如何才能做到这一点,这是可行的?感谢
给定产品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()
这对我帮助很大,创建了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>\';
}
您可以获取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;
当用户单击投票图像时,图像将变为投票状态。如果用户再次单击处于投票状态的图像,将弹出一条消息,说明:你已经给这篇文章打分了。Post ID#X我希望它不会弹出此消息,“投票”图像保持原样。下面是我认为进行此更改所需的相关代码。它来自wp postratings的558-633行。php。如果有人能看一看,让我知道我需要改变什么,我将非常感激。### Function: Process Ratings process_ratings(); function process_ratings()