获取循环中的WooCommerce Star Ratings

我有一个我为我的WooCommerce商店页面构建的自定义模板,它按不同部分的类别提取产品 .

我需要知道如何将星级评分拉入每个产品的循环中 . 我几个小时所做的所有搜索都没有结果 .

回答(2)

3 years ago

我能够回答我自己的问题 . 以下是如何在循环中获得星级评分 .

首先使用以下代码:

<?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;
        }
      }
    }

3 years ago

你的意思是这样的吗?

global $product;
echo $product->get_rating_html();