Вывести общий рейтинг товаров?

Всем привет.
Пытаюсь вывести общий средний рейтинг всех товаров выведенных через цикл.
В итоге выводится средний рейтинг одного товара.
Кто может помочь?
        <?php 
    $products = wc_get_products( ['post_type'=>'product', 'post_parent'=>$post->ID, 'post_type'=>'product'] );
    
    foreach( $products as $prod ){
        $prod_rating_count = $prod->get_rating_count();
        $prod_review_count = $prod->get_review_count();
        $prod_average      = $prod->get_average_rating();
        
    }
    echo wc_get_rating_html( $prod_average );
        ?>

Ответы (1 шт):

Автор решения: Valerii Vasyliev

У Вас в цикле выводится значение среднего рейтинга последнего товара + нужно добавить wc_get_products аргумента на статус публикации и выборку всех товаров

Попробуйте так

$total_raiting = 0;

$products = wc_get_products( ['post_type'=>'product', 'post_parent'=>$post->ID, 'post_type'=>'product', 'limit' => -1, 'status' => 'publish'] );

if ($products) {
   
    foreach( $products as $prod ){
        $total_raiting += $prod->get_average_rating();
    }

    echo wc_get_rating_html( $total_raiting / sizeof($products) );

} else {
    echo wc_get_rating_html( $total_raiting );
}
→ Ссылка