Foreach 自定义循环

时间:2021-08-01 15:16:09

标签: php foreach

我需要重现这个网格来显示:

  • 2 件产品/第一行 1 个空盒子

  • 第 2 行 1 个产品 / 2 个空盒子

等等。

enter image description here

我的实际代码每行只显示一个产品:

    $i=1;
    if ( $query->have_posts() ) {
        while ( $query->have_posts() ) : $query->the_post(); ?>

        <div class="row">

            <?php if ($i % 3 == 0) { ?>
                <div class="projet-bloc-empty col-md-4"><div></div></div>
                <div class="projet-bloc-empty col-md-4"><div></div></div>
            <?php } ?>

            <div class="projet-bloc col-md-4">
                <a href="<?php echo $post->post_name ?>" title="<?php echo $post->post_title ?>">
                    <?php echo get_the_post_thumbnail($post->ID); ?>
                </a>
            </div>

            <?php if ($i % 3 !== 0) { ?>
                <div class="projet-bloc-empty col-md-4"><div></div></div>
                <div class="projet-bloc-empty col-md-4"><div></div></div>
            <?php } ?>

        </div>


        <?php $i++; endwhile; ?>

    <?php }

1 个答案:

答案 0 :(得分:1)

也许是这样的:

$space = '<div class="projet-bloc-empty col-md-4"><div></div></div>';
$i=1;
if ( $query->have_posts() ) {
  while ( $query->have_posts() ) : $query->the_post();

  <div class="row">

    <?php if ($i % 3 == 0) echo $space.$space.$space; ?>
 
    <div class="projet-bloc col-md-4">
    <a href="<?php echo $post->post_name ?>" title="<?php echo $post->post_title ?>">
    <?php echo get_the_post_thumbnail($post->ID); ?>
    </a>
    </div>

  </div>

  <?php $i++; endwhile; ?>
<?php }