在我的Bootstrap版本中,连续有12列。
在下面的for循环中,每个循环打印2列宽。
我想要的是在打印第一列之前(或$i === 0
)<div class="row">
。
然后,在列数等于12(或变量$i
不再小于6)之后,要打印的结束行标记(</div><!--row-->
)然后为变量{ {1}}重置为零。
我已经实现了我想要的布局,但问题是Wordpress无限循环并且检索同一公司的徽标数百次。
$i
答案 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>