【问题标题】:WooCommerce (WordPress) - Last product in loopWooCommerce (WordPress) - 循环中的最后一个产品
【发布时间】:2013-04-26 12:03:08
【问题描述】:

http://tp4x4.v2webdesign.co.uk/products/

我想知道是否有可能找出类别/产品循环是最后一次的时间。

我正在构建自定义模板并组织我使用基础网格系统的产品。

这是在文件中:content-product-cat.php & content-product.php

  <?php if ($woocommerce_loop['loop']&1){ ?>
    <div class="row product-grid-row"> <?php }?>
      <div class="product-category product large-6 small-12 columns">

    content stuff is here
      </div>

  <?php if ($woocommerce_loop['loop']&2) { ?></div><?php } ?>

此代码为每个奇数打开 .product-grid-row 并为每个偶数关闭它,每行创建 2 个产品。

问题是最后一个产品是奇数,或者如果产品/类别有奇数。

如果有办法确定该循环中类别/产品的数量,我可以简单地使用该变量:

if ($lastinloop) echo "</div>";

我也尝试过使用 WooCommerce 的 loop_shop_columns 功能,但如果最后一个产品不在一行的末尾,这会带来同样的问题。

【问题讨论】:

    标签: php wordpress woocommerce product


    【解决方案1】:

    试试这个

    global $wp_query;
    echo "Total Records :".$wp_query->found_posts;
    

    【讨论】:

      【解决方案2】:

      迟到总比没有好 :) 我不确定“正确性”,但它有效。

      我的 /mytheme/woocommerce/loop/loop-start.php 包含

      <div class="container">
      

      所以.. 现在在 /mytheme/woocommerce/content-product.php 中更改这一行:

      global $product, $woocommerce_loop;
      

      到:

      global $product, $woocommerce_loop, $wcp_last_loop;
      

      并将其添加到末尾:

      $wcp_last_loop = $woocommerce_loop; // save it globaly for use in /mytheme/woocommerce/loop/loop-end.php
      

      我的 /mytheme/woocommerce/loop/loop-end.php 包含:

      <?php
      /**
       * Product Loop End
       */
      
      global $wcp_last_loop;
      
      if ( 1 == $wcp_last_loop['loop'] % $wcp_last_loop['columns'] ) {
          echo '</div><!-- .row -->'; // end of .row after odd product
      }
      
      ?>
      
      </div><!-- .container -->
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-18
        • 1970-01-01
        • 2017-03-12
        • 1970-01-01
        相关资源
        最近更新 更多