Я использую функцию, основанную на этом ответе , чтобы добавить оценку продукта l oop (если это не первая страница):
add_action('woocommerce_shop_loop_item_title', 'add_star_rating' );
function add_star_rating()
{
if(!is_front_page()){
global $woocommerce, $product;
$average = $product->get_average_rating();
echo '<div class="star-rating"><span style="width:'.( ( $average / 5 ) * 100 ) . '%"><strong itemprop="ratingValue" class="rating">'.$average.'</strong> '.__( 'out of 5', 'woocommerce' ).'</span></div>';
}
}
Если есть пока нет отзывов, на странице показаны 5 серых звездочек. Как я могу изменить его так, чтобы, если еще нет отзывов о продукте, он отображал текст «Будьте первым, кто проверяет» или аналогичный текст c.
Я также могу использовать это, чтобы добавить «Будьте первым, кто оставит отзыв» на странице продукта, где рейтинг в звездах не отображается, если нет отзывов. Я не могу найти способ посчитать отзывы и проверить, ноль.
Я тоже пробовал это, но, похоже, это не имеет значения:
add_action('woocommerce_shop_loop_item_title', 'add_star_rating' );
function add_star_rating()
{
if(!is_front_page()){
global $woocommerce, $product;
$average = $product->get_average_rating();
$count = $product->get_rating_counts();
if ($count > 0){
echo '<div class="star-rating"><span style="width:'.( ( $average / 5 ) * 100 ) . '%"><strong itemprop="ratingValue" class="rating">'.$average.'</strong> '.__( 'out of 5', 'woocommerce' ).'</span></div>';
}
else {
echo '<div>No reviews yet</div>';
}
}
}