ループなしでproduct_idによる製品の評価を取得する方法?
Product_idが1つあり、製品の評価を取得したいのですが、どうすればこれを実行できますか。感謝
製品IDを指定すると、このような平均評価を得ることができます。
$rating = get_post_meta( $product_id, '_wc_average_rating', true );
それは生の数(4.00、3.50など)を返します。
特定の商品の評価HTMLを出力するには、次のコードを使います。
$product = wc_get_product( $product_id );
$rating_count = $product->get_rating_count();
$average = $product->get_average_rating();
echo wc_get_rating_html( $average, $rating_count );
または、ループにいる場合は、この関数を使用して現在の商品のHTMLを取得できます。
woocommerce_template_loop_rating()
これは私を大いに助けて、get_star_rating()関数を作成してあなたのhtmlを返す。
注:ループに入っている場合
関数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>';
}