2015-02-12 2 views
0

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

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

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

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

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

Может ли это понять? Как я могу заставить его обернуть каждые два выхода в <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

ли вы только хотите, чтобы обернуть первые два сообщения на каждой странице в '.sponsor-row' или двух первых и двух последних? – alpipego

ответ

2

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

See comparison in php

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