Прерывать цикл, добавляя «последний» к <div> - PullRequest
0 голосов
/ 18 августа 2011

В WordPress я использую это:

while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
echo "<div class='test'>test</div>";
<?php endwhile; ?>

Теперь мне бы хотелось, чтобы для каждого второго элемента он добавлял «последний» класс в div, чтобы окончательный код могbe:

<div class='test'>test</div>
<div class='test last'>test</div>
<div class='test'>test</div>
<div class='test last'>test</div>
<div class='test'>test</div>
<div class='test last'>test</div>.....

Большое спасибо за любые указатели.

Ответы [ 3 ]

1 голос
/ 18 августа 2011
$i = 0;
while ($wp_query->have_posts()) {
    $wp_query->the_post(); 
    $i++
    if ($i %% 2){ 
        echo "<div class='test last'>test</div>";
    } 
    else{
        echo "<div class='test'>test</div>";
    }
endwhile; ?>
0 голосов
/ 18 августа 2011

Вы также можете использовать встроенное поле подсчета постов WordPress, $ wp_query-> current_post

<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
   <div class="test <?=$wp_query->current_post % 2 == 0 ? "last" : "";?>">test</div>
<?php endwhile; ?>
0 голосов
/ 18 августа 2011
for ($i = 0; $wp_query->have_posts(); $i++) {
    $wp_query->the_post(); 
    echo ($i %% 2) ? "<div class='test last'>test</div>" : "<div class='test'>test</div>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...