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 に答える