如何阻止循环无限循环?

时间:2014-07-31 06:33:24

标签: php wordpress twitter-bootstrap for-loop

在我的Bootstrap版本中,连续有12列。

在下面的for循环中,每个循环打印2列宽。

我想要的是在打印第一列之前(或$i === 0<div class="row">

然后,在列数等于12(或变量$i不再小于6)之后,要打印的结束行标记(</div><!--row-->)然后为变量{ {1}}重置为零。

我已经实现了我想要的布局,但问题是Wordpress无限循环并且检索同一公司的徽标数百次。

$i

1 个答案:

答案 0 :(得分:1)

您正在重新声明$ i = 0;在底部,所以当循环在增量后到达底部时,它再次被重置为0,因此一次又一次地运行。

如果我是对的,我想你想在迭代次数后开始一个新的行,你可以根据你的要求进行一些修改

<?php if (have_posts()) : while (have_posts()) : the_post();
    $i = 0;
    if ($i!=0 && $i%3==0){ // add new row after 3 posts
        echo "</div><div class='row'>"; 
        // close previous row after 3 elements and start new.
    }
    $i++;   
?>

有问题的查询解决方案。

<div class="row"> <?php if (have_posts()) : while (have_posts()) : the_post(); $i = 0; if ($i != 0 && $i % 5 == 0) { // add new row after 5 posts echo "</div><div class='row'>"; } $i++; ?> <div class="col-md-2"> <?php $image = get_field('sponsor_logo'); ?> <a href="<?php the_permalink(); ?>"> <img class="img-responsive" src="<?php echo $image['sizes']['thumbnail-soft-crop']; ?>" alt="<?php echo $image['alt']; ?>"/> </a> </div> <?php endwhile; endif; ?> </div>