Оберните результаты запроса WordPress каждым вторым элементом

Я думаю, что я довольно близок к решению, но я не могу понять логику, где я должен закрыть последний div.

У меня есть запрос WordPress, который запрашивает четыре сообщения.

Я хочу обернуть каждые два предмета в <section class="sponsor-row">

Поэтому в моем запросе реализован счетчик, который подсчитывает каждое сообщение, и если он находит, что два сообщения были выведены, он закрывает <section> отделить

Но я не могу понять, как мне следует работать, если ряд снова будет закрыт.

Кто-нибудь может понять это? Как я могу сделать это обернуть каждые два выхода в <section class="sponsor-row"> ?

if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();

$counter = 0;
echo '<section class="sponsor-row">'; // Opening the section here

if ( has_post_thumbnail() ) {
$counter++;

echo '<div class="grid half">';
echo '<a class="sponsor" href="'.get_the_permalink().'" target="_blank">';
the_post_thumbnail( 'full' );
echo '</a>';
echo '</div>';

if ($counter <= 2){
echo '</section>'; // closing the section if two posts
$counter = 0;
}
}
}
}

Полный запрос здесь: http://pastebin.com/e6RzZLR5

0

Решение

если вы делаете if ($counter <= 2){ затем он будет закрывать его каждый раз, когда он меньше или равен 2, что означает, что он будет закрывать его дважды для каждого элемента. Вы должны использовать if ($counter == 2){ а также $counter = 0; должен быть вверху перед запросом, в противном случае вы установите его равным 0 в каждом цикле.

Посмотреть сравнение в php

2

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

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

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