web-dev-qa-db-ja.com

製品IDで製品を評価する

ループなしでproduct_idによる製品の評価を取得する方法?

Product_idが1つあり、製品の評価を取得したいのですが、どうすればこれを実行できますか。感謝

1
ttn_

製品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() 
2
Jacob Peattie

これは私を大いに助けて、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>';

}