Я использую расширенные пользовательские поля и хочу обернуть каждые 3 деления подряд. Если есть четвертый div или два дополнительных, они будут помещены в свой ряд. Так что открой и закрой подряд.
В настоящее время у меня есть основной вывод, но все мои текущие попытки добавить счетчик потерпели неудачу. Любая помощь будет оценена
<?php // wrap every 3 divs in a row
if(get_field('triple_column_2')): ?>
<?php while(has_sub_field('triple_column_2')): ?>
<div class="col-sm-4">
<?php the_sub_field('copy'); ?>
</div>
<?php endwhile; ?>
<?php endif; ?>
Вы можете использовать это в качестве отправной точки. Я не проверял это, поэтому в моей логике могут быть небольшие проблемы, но это поможет вам проделать большую часть пути (если не полностью!).
if ( get_field( 'triple_column_2' ) ): ?>
<?php $index = 1; ?>
<?php $totalNum = count( get_field('triple_column_2') ); ?>
<row>
<?php while ( has_sub_field( 'triple_column_2' ) ): ?><div class="col-sm-4">
<?php the_sub_field( 'copy' ); ?>
</div>
<? if ($index % 3 == 0) : ?>
<? if ($index < $totalNum) : ?>
// more rows, so close this one and start a new one
</row>
<row>
<? elseif ($index == $totalNum) : ?>
// last element so close row but don't start a new one
</row>
<? endif; ?>
<? endif; ?>
<?php $index++; ?>
<?php endwhile; ?>
<?php endif; ?>
Других решений пока нет …