Как исключить записи конкретных рубрик из общего списка статей в WordPress
Доброго времени суток!
По умолчанию, на главной странице сайта, который использует движок WordPress, выводится список статей (записей). Причём неважно, к какой рубрике (категории) относится та или иная запись – они выводятся общим скопом и сортируются по дате добавления.
И если на вашем сайте имеется рубрика или несколько рубрик, записи с которых не должны отображаться в общем списке, что выводятся на главной странице, то это можно легко реализовать. В этом вам поможет данная инструкция.
Да, сами записи и рубрики никуда не деваются. Если посетитель зайдёт в рубрику, то он увидит все её записи. Просто записи скрываются из общего списка с главной страницы (и её подстраниц, если имеется навигация).
Для скрытия записей определённой рубрики (или рубрик) из общего списка материалов, что выводятся на главной странице, вам необходимо в файле functions.php, что располагается в директории используемой вами темы WordPress, вписать следующий код:
function ex_cat($query) { if ( $query->is_home ) { $query->set('category__not_in', array(33, 65, 77)); } return $query; } add_filter('pre_get_posts', 'ex_cat');
В приведённом примере скрываются записи из трёх рубрик. Однако, как вы можете видеть, тут нет каких-либо имён категорий, только присвоенные им цифры (ID): 33, 65, 77. В вашем случае цифры и их количество будет иным.
Дабы узнать номер (ID), который был присвоен рубрике, которую вам необходимо скрыть, следует сделать следующее:
- Открыть консоль WordPress, и там зайти в «Рубрики».
- Навести мышку на рубрику, и во всплывающей подсказке-ссылке подчеркнуть присвоенный ей номер.
В приведённом примере рубрика «Решаем проблему» идёт под цифрой 11 – её и надо вписывать в приведённый выше код.
Аналогично можно подчеркнуть ID и остальных рубрик, которые можно тоже вписать в код, дабы и их записи тоже были скрыты их общего списка статей с главной.
Надеюсь, что приведённая инструкция была полезна и не вызвала затруднений при реализации.
Если на сайте используется RSS лента и наличествует желание и оттуда скрыть записи определённых рубрик, то данная возможность реализуется схожим образом, подробнее в материале «Как исключить статьи рубрики из RSS в WordPress».
Если после подробного и вдумчивого ознакомления с материалом остались вопросы, то не стоит «ломать голову», а стоит задать их в комментариях.