我有一个循环,可以在.row div中创建列。在循环运行3次之后,我希望将这些列包装在“row”div中,并为下一组3列创建新的“row”div。
这是循环:
<div class="row">
<?php if( have_rows('content_modules') ): ?>
<?php while( have_rows('content_modules') ): the_row();
$photo = get_sub_field('module_photo');
$title = get_sub_field('module_title');
$content = get_sub_field('module_content'); ?>
<div class="columns">
<img src="<?php echo $photo ?>" />
<h3><?php echo $title ?></h3>
<?php echo $content ?>
</div>
<?php endwhile; endif;?>
</div>
这个循环运行得很好,但是,我似乎无法在一行内包装每组3列。
答案 0 :(得分:3)
使用modulo确定是否应该开始新行。
<?php if( have_rows('content_modules') ): ?>
<?php
$i = 0;
while( have_rows('content_modules') ): the_row();
$photo = get_sub_field('module_photo');
$title = get_sub_field('module_title');
$content = get_sub_field('module_content');
?>
<?php if($i % 3 == 0): ?>
<div class="row">
<?php endif; ?>
<div class="columns">
<img src="<?php echo $photo ?>" />
<h3><?php echo $title ?></h3>
<?php echo $content ?>
</div>
<?php if($i % 3 == 2): ?>
</div>
<?php endif; ?>
<?php $i++; endwhile; endif;?>
<?php endif; ?>