Как исключить дублирование постов при использовании нескольких циклов вывода на одной странице

Столкнулся с одной интересной проблемой. Мне нужно было создать стартовую страницу, на которой выводились бы записи из двух категорий, но сделать так, чтобы в этих двух списках не было бы одинаковых постов. Конечно, если вы относите каждый пост только к одной категории, то пересечений не может быть в принципе. Но они появятся, если посты вы помещаете сразу в несколько категорий. В этом случае может получиться так, что при выводе двух списков постов вы можете увидеть один и тот же пост как в одном списке, так и в другом.

Для решения этой проблемы можно в ходе выполнения первого цикла запоминать ID постов, а в ходе выполнения второго цикла исключать эти посты. Выглядит это примерно так:


have_posts()) : $my_query->the_post();
    $do_not_duplicate = $post->ID; //запоминаем ID постов, выводимых в первом цикле
?>
    



ID == $do_not_duplicate ) continue; //пропускаем обработку повторяющихся постов
?>
   

Обратите внимание на строчки с переменной $do_not_duplicate — они отвечают за то, чтобы посты в двух циклах не дублировались.

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*