2016-12-13 2 views
0

По существу, я пытаюсь выполнить петлю через поле ретранслятора (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; ?> 

ответ

0

Надеется, что вы можете найти это решение правильной, вы можете перебрать массив и создать структуру таблицы, как это (этот ответ по моему пониманию):

$array = [ 
    [ 
     [ 
      'title' => "My Title 1", 
      'content' => 'Content 1', 
     ], 
     [ 
      'title' => "My Title 2", 
      'content' => 'Content 2', 
     ], 
     [ 
      'title' => "My Title 3", 
      'content' => 'Content 3', 
     ], 
    ], 
    [ 
     [ 
      'title' => "My Title 4", 
      'content' => 'Content 4', 
     ], 
     [ 
      'title' => "My Title 5", 
      'content' => 'Content 5', 
     ], 
    ], 
]; 

echo "<table style='border: 1px solid black;'><tbody>"; 
foreach ($array as $key => $arr) { 
    echo "<tr> . '<br>'"; 
    foreach ($arr as $key => $value) { 
     echo "<td style='border: 1px solid black;'>"; 
     echo $value['title']; 
     echo $value['content']; 
     echo '</td>'; 
    } 
    echo "<tr>"; 
} 
echo "</tbody></table>"; 

Надежда это помогает!

Смежные вопросы