WooCommerce(WordPress) - 循环中的最后一个产品

时间:2013-04-26 12:03:08

标签: php wordpress woocommerce product

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

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

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

这是在文件中:content-product-cat.php&内容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功能,但如果最后一个产品不在一行的末尾,则会出现同样的问题。

2 个答案:

答案 0 :(得分:0)

试试这个

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

答案 1 :(得分:0)

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

我的/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 -->