Как сделать: Два цикла без дублирования постов
Иногда требуется создать два цикла, но возникает проблема с дублирующими постами. Для этого есть хорошее решение, дабы и циклов несколько создать и дубликатов избежать. Для избежания дубликатов мы создадим массив и добавим в него ID постов. Первый цикл будет выглядеть таким образом:
<h2>Цикл первый</h2> <?php $ids = array(); while (have_posts()) : the_post(); the_title(); ?> <br /> <?php $ids[]= $post->ID; endwhile; ?>
Второй цикл будет проверять наличие Одинаковых Id и выводить уникальны:
<h2>Цикл второй</h2>
<?php
query_posts("showposts=50");
while (have_posts()) : the_post();
if (!in_array($post->ID, $ids)) {
the_title();?>
<br />
<?php }
endwhile; ?>
Мы использовали встроенную функцию php in_array(), тем самым избежав дубликатов. Как видите все очень просто. Таким образом можно сделать не два, а три и более циклов, то есть столько, сколько нам требуется.
Понравилась статья?
Подпишись на нашу
Хочешь постовой?
Напиши на своем блоге о нашем сайте и в скором времени получишь от нас трекбек!









