Obtener la calificación del producto por ID de producto
11 sept 2017, 08:55:53
Vistas: 23.1K
Votos: 6
¿Cómo obtener la calificación de un producto por product_id sin usar bucle?
Tengo un product_id y quiero obtener la calificación del producto, ¿cómo puedo hacer esto y es factible? Gracias
// Método 1: Usando get_average_rating()
$product = wc_get_product($product_id);
$rating = $product->get_average_rating();
// Método 2: Usando get_meta
$rating = get_post_meta($product_id, '_wc_average_rating', true);
// Método 3: Usando directamente la función wc_get_product()
$rating = wc_get_product($product_id)->get_average_rating();

ttn_
317
Todas las respuestas a la pregunta
3
0
Dado un ID de producto, puedes obtener la calificación promedio de esta manera:
$product = wc_get_product( $product_id );
$rating = $product->get_average_rating();
Eso devolverá el número crudo (4.00, 3.50 etc.).
Para mostrar el HTML de la calificación de un producto dado, puedes usar este código:
$product = wc_get_product( $product_id );
$rating = $product->get_average_rating();
$count = $product->get_rating_count();
echo wc_get_rating_html( $rating, $count );
O, si estás dentro del loop, puedes usar esta función para obtener el HTML del producto actual:
woocommerce_template_loop_rating()

Jacob Peattie
43.9K
11 sept 2017 09:23:47
0
Esto me ayudó mucho, crear la función get_star_rating() y devolver su html.
NOTA: Si está en un bucle
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> '.__( 'de 5', 'woocommerce' ).
'</span>
</div>'.'
<a href="#reviews" class="woocommerce-review-link" rel="nofollow">( ' . $review_count .' )</a>';
}

Samael Pereira SImões
11
18 nov 2018 00:07:08
0
Puedes obtener un bucle de productos con las mejores valoraciones
$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;

Tarani Joshi
11
9 sept 2019 08:31:16
Preguntas relacionadas
4
respuestas
5
respuestas
5
respuestas
1
respuestas
1
respuestas