Закрыть / Открыть Div после того, как цикл повторился 3 раза

У меня есть цикл, который создает столбцы внутри .row div. После того, как цикл запустился 3 раза, я бы хотел, чтобы эти столбцы были обернуты в div «row» и был создан новый div «row» для следующего набора из 3 столбцов.

Вот цикл:

<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 столбцов внутри строки.

2

Решение

Используйте модуль по модулю, чтобы определить, следует ли начинать новую строку или нет.

<?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; ?>
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector