首页 文章

获取循环中的WooCommerce Star Ratings

提问于
浏览
2

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

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

2 回答

  • 3

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

    首先使用以下代码:

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

    你的意思是这样的吗?

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

相关问题