Я пытаюсь обнаружить каждый 4-й пост, чтобы вставить дополнительный код в мой макет в wordpress с использованием модуля, но я просто не могу его получить.
Вот краткий пример:
<?php if (have_posts()) : ?> <?php $count=0;?> <?php while (have_posts()) : the_post(); ?> <div class="column"> <!--content--> </div> <?php if ($count % 4 == 0){ echo '<div class="clear"></div>'; } $count++; ?> <?php endwhile; ?> <?php endif; ?>
все, что находится внутри цикла while. Что я делаю не так? Спасибо.
Вам нужно запустить счетчик на 1, так как вы увеличиваете его в конце цикла:
<?php $count=1;?>
Либо это, либо вы увеличиваете его в начале цикла / перед проверкой:
<?php $count++; if ($count % 4 == 0){ echo '<div class="clear"></div>'; } ?>
Когда дело доходит до таких вещей, я всегда увеличиваю одно в выражении if перед вызовом modulo следующим образом:
if(($count+1)%4 == 0)
Таким образом, мне легко заметить, что утверждение естественно гласит: «Если текущий счет является четвертым, тогда выполните:»