我有一个为我的WooCommerce Shop Page构建的自定义模板,可以按不同部分的类别提取产品。
我需要知道如何将星级评分拉入每个产品的循环中。我几个小时以来所做的所有搜索都没有结果。
答案 0 :(得分:4)
我能够回答我自己的问题。以下是如何在循环中获得星级评分。
首先使用以下代码:
<?php if ($average = $product->get_average_rating()) : ?>
<?php echo '<div class="star-rating" title="'.sprintf(__( 'Rated %s out of 5', 'woocommerce' ), $average).'"><span style="width:'.( ( $average / 5 ) * 100 ) . '%"><strong itemprop="ratingValue" class="rating">'.$average.'</strong> '.__( 'out of 5', 'woocommerce' ).'</span></div>'; ?>
<?php endif; ?>
确保将css类:woocommerce包含在容器中,例如:
<ul class="woocommerce">
<li>
<?php if ($average = $product->get_average_rating()) : ?>
<?php echo '<div class="star-rating" title="'.sprintf(__( 'Rated %s out of 5', 'woocommerce' ), $average).'"><span style="width:'.( ( $average / 5 ) * 100 ) . '%"><strong itemprop="ratingValue" class="rating">'.$average.'</strong> '.__( 'out of 5', 'woocommerce' ).'</span></div>'; ?>
<?php endif; ?>
</li>
</ul>
此外,我结束了改变星星的大小和颜色:
.woocommerce {
.star-rating {
width: 110px !important;
height: 30px !important;
float: left;
&:before {
font-size: 20px;
}
span {
&:before {
font-size: 20px;
color: #ffa500;
}
}
}
答案 1 :(得分:0)
你的意思是这样吗?
global $product;
echo $product->get_rating_html();