1

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 功能,但是如果最后一个产品不在一行的末尾,这会带来同样的问题。

4

2 回答 2

0

尝试这个

global $wp_query;
echo "Total Records :".$wp_query->found_posts;
于 2013-04-26T13:08:54.513 回答
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 -->
于 2015-09-09T17:45:42.127 回答