web-dev-qa-db-fra.com

Obtenir une évaluation produit par ID de produit

Comment obtenir une évaluation de produit par product_id sans boucle?

J'ai un product_id et je veux obtenir l'évaluation du produit, comment puis-je le faire et c'est faisable? Remercier

1
ttn_

Étant donné un ID de produit, vous pouvez obtenir la note moyenne suivante:

$rating = get_post_meta( $product_id, '_wc_average_rating', true );

Cela retournera le nombre brut (4,00, 3,50 etc.).

Pour afficher le code HTML d'évaluation pour un produit donné, vous pouvez utiliser ce code:

$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 );

Ou, si vous êtes au courant, vous pouvez utiliser cette fonction pour obtenir le code HTML du produit actuel:

woocommerce_template_loop_rating() 
2
Jacob Peattie

Cela m'a beaucoup aidé, créer la fonction get_star_rating () et renvoyer votre code HTML.

NOTE: Si c'est dans une boucle

fonction 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>';

}

1