// add empty stars after title
add_action( 'woocommerce_after_shop_loop_item_title', 'empty_stars', 5 );
function empty_stars() {
global $product;
if ( get_option( 'woocommerce_enable_review_rating' ) === 'no' || $product->post->comment_status === 'closed' ) {
return;
}
else {
$rating_count = $product->get_rating_count();
$review_count = $product->get_review_count();
$average = $product->get_average_rating();
if ( $rating_count === 0 ) : ?>
<div class="woocommerce-product-rating" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<div class="star-rating" title="<?php printf( __( 'Rated %s out of 5', 'woocommerce' ), $average ); ?>">
<span style="width:<?php echo ( ( $average / 5 ) * 100 ); ?>%">
<strong itemprop="ratingValue" class="rating"><?php echo esc_html( $average ); ?></strong> <?php printf( __( 'out of %s5%s', 'woocommerce' ), '<span itemprop="bestRating">', '</span>' ); ?>
<?php printf( _n( 'based on %s customer rating', 'based on %s customer ratings', $rating_count, 'woocommerce' ), '<span itemprop="ratingCount" class="rating">' . $rating_count . '</span>' ); ?>
</span>
</div>
<?php if ( comments_open() ) : ?><a href="#reviews" class="woocommerce-review-link" rel="nofollow"> <?php esc_html_e( 'There are no reviews yet', 'woocommerce' ); ?></a><?php endif ?>
</div>
<?php endif;
}
}