По существу, я пытаюсь выполнить петлю через поле ретранслятора (ACF, работающее в WordPress), чтобы выделить 1 подполе, а после первых элементов в цикле запускается второй цикл для подбора других подполей.PHP-цикл в цикле (каждая итерация по каждому циклу)
- Цикл 1 начинает
- Пункт 1, поле 1
- Пункт 2, поле 1
- Пункт 3, поле 1
- Цикл 1 останавливается
- Цикл 2 начинается
- Пункт 1, поле 2
- Пункт 2, поле 2
- Пункт 3, поле 2
- Цикл 2 остановки
- Loop 1 перезапусков
- Пункт 4, поле 1
- Пункт 5, поле 1
- Пункт 6, поле 1
- Цикл 1 останавливается
- петли 2 перезапусков
- Пункт 4, поле 2
- Пункт 5, поле 2
- Пункт 6, поле 2
- Цикл 2 остановки
Например, если у меня есть ретранслятор с двумя подполями «title» и «content», результат будет выглядеть примерно так:
<div class="row">
<div class="column">
<div class="tabs-title">
<h3>Item 1 Title</h3>
<a href="#panel1">Learn More</a>
</div>
</div>
<div class="column">
<div class="tabs-title">
<h3>Item 2 Title</h3>
<a href="#panel2">Learn More</a>
</div>
</div>
<div class="column">
<div class="tabs-title">
<h3>Item 3 Title</h3>
<a href="#panel3">Learn More</a>
</div>
</div>
<div class="tabs-panel" id="panel1">
<div class="tabs-content">
<p>Item 1 content goes here.</p>
</div>
</div>
<div class="tabs-panel" id="panel2">
<div class="tabs-content">
<p>Item 2 content goes here.</p>
</div>
</div>
<div class="tabs-panel" id="panel3">
<div class="tabs-content">
<p>Item 3 content goes here.</p>
</div>
</div>
</div>
<!-- Repeat loop until the end -->
До сих пор это то, что у меня есть. Просто не уверен, как выполнить второй цикл до закрытия div каждый третий вариант.
<?php if(have_rows('services')) :
$i = 1;
$divopen = '<div class="cta row row-3 small-up-1 large-up-3 tabs" data-tabs id="example-tabs">';
echo $divopen;
while(have_rows('services')) : the_row(); ?>
<div class="column">
<div class="tabs-title">
<h3><?php the_sub_field('service_name'); ?></h3>
<a href="#panel<?php echo $i; ?>">Learn More</a>
</div>
</div>
<?php if($i % 3 == 0) :
echo '</div>' . $divopen;
endif;
$i++; endwhile; echo '</div>';
endif; ?>