У меня есть этот цикл в то же время он будет считать результат:
while ($wp_query->have_posts()) : $wp_query->the_post(); $current++; $current2++;
Затем, чтобы вызвать правильный HTML-класс, мне нужно это для моего дизайна:
<div class="span4 <?php if($current == 0) { echo 'first'; } elseif($current == 1) { echo 'second'; } elseif($current == 2) { echo 'first'; } elseif($current == 3) { echo 'second'; } ?>" id="<? echo $current; ?>">
$count
начинается с 0 и $count2
из 1. Выходные данные должны быть такими: если 0 = первый, 1 = второй, 2 = первый, 3 = второй и т. д. Как я могу сделать это выражение короче с неограниченным количеством $count
? Я надеюсь, что мой вопрос ясен. Спасибо за тех, кто поможет мне здесь.
Если я понимаю, что вы спрашиваете здесь, я думаю, что вы хотите чередовать свои div с «первого» и «второго» классов?
Таким образом, вы можете использовать оператор% modulo (см. http://php.net/manual/en/internals2.opcodes.mod.php)
<div class="span4 <?php echo ($current % 2 === 0 ? 'first' : 'second'); ?>" id="<? echo $current; ?>">
Если вы просто используете эти имена классов для чередующихся стилей CSS, есть очень элегантный способ сделать это с помощью CSS3
Ваш HTML
<div class="span4" id="<? echo $current; ?>">
И в вашем файле CSS
.span4:nth-child(even) {background: #CCC}
.span4:nth-child(odd) {background: #FFF}
иначе для решения PHP ответ Лиама Уилтшира должен работать хорошо.
источник: CSS четные и нечетные примеры правил
Так что вы могли бы использовать mod
— лучше всего использовать полный<?php
тег для WordPress, если это так.
PHP тест, если число нечетное или четное
// set up the html clips
if($current % 2 == 0){
$html_clips = 'first';
}else{
$html_clips = 'second';
}
if($current == 0) $html_clips = 'first';
<div class="span4 <?php echo $html_clips ?>" id="<?php echo $current; ?>">
попробуй так
<div class="span4
<?php if ($curent%2 == 0){ echo 'first'; }
else {echo 'second';}?> id="<? echo $current; ?>">