У меня есть этот цикл, он будет считать результат:
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; ?>">