n-wp.ru — блог о WordPress

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

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

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

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

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

tiaurus

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

Комментировать

/* ]]> */