[英]PHP while loop ODD and Even wrapped in either the left or right column
我似乎无法正确地做到这一点,基本上我有一个while循环,我希望所有奇数个帖子都包裹在一个名为.split-left的div中,因此1,3,5等将进入该列。 然后,所有偶数帖子都必须放入.split-right div中,所以2、4、6等。
当前,我的循环将第1个帖子放到.split-left div中,然后将第2、4、6个放到左拆分div中,这是不对的。
<!-- SPLIT EFFECT PAGE BUILDER -->
<div class="page-builder split">
<?php if( have_rows('split_effect_page_builder') ): ?>
<div class="split-left">
<?php $i = 1; ?>
<?php while ( have_rows('split_effect_page_builder') ) : the_row(); ?>
<?php get_template_part('template-parts/page', 'builder'); ?>
<?php
if($i % 2 == 0){
echo '</div><div class="split-right">';
$i = 0;
}
$i++;
?>
<?php endwhile; ?>
</div>
<?php else : ?>
<?php // no layouts found ?>
<?php endif; ?>
</div>
<!-- END SPLIT EFFECT PAGE BUILDER -->
下面的这部分只是带有循环的模板,因此,可以将其视为普通的PHP while循环。
<?php get_template_part('template-parts/page', 'builder'); ?>
似乎没人能帮我解决这个问题,我在Google各处搜索并检查了一些将偶数和奇数帖子分成两列的代码,但是找不到任何参考资料来帮助我解决此问题。
使用For循环,在for循环之间应用if else条件。
<?php if( have_rows('split_effect_page_builder') ): ?>
<div class="split-left">
<?php
for($i=1;$i<have_rows('split_effect_page_builder');$i++){
the_row(); ?>
<?php get_template_part('template-parts/page', 'builder'); ?>
<?php
if($i % 2 == 0){
echo '</div><div class="split-right">';
}
else{
echo '</div><div class="split-left">';
}
?>
</div>
<?php } ?>
</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.