Как в WordPress исключить категорию из вывода на главной?

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

Зачем исключать категорию из главной страницы WordPress?

WordPress по умолчанию на главной странице сайта выводит список записей из всех категорий. Но часто некоторый контент не является частью ваших обычных записей. Например, на техническом блоге может присутствовать категория Об искусстве или что-нибудь подобное. Понятно, что такой контент “выпадает” из общего формата сайта. В таком случае его можно просто скрыть из вывода на главной, оставляя при этом просмотр материала где-либо в навигационном меню.

Как исключить категорию из главной страницы WordPress?

Рассмотрим два наиболее популярных способа решения задачи, из которых вы сможете выбрать тот, который наилучшим образом соответствует вашим потребностям.

Способ 1. Плагин Ultimate Category Excluder

Использование бесплатного плагина Ultimate Category Excluder является самым простым способом скрыть записи категории на главной.

После установки и активации плагина первым делом нужно перейти в админ-раздел Настройки -> Category Excluder.

Страница настроек плагина Ultimate Category Excluder

На странице настроек плагина необходимо лишь выбрать нужную категорию в колонке Exclude from Front Page? и нажать кнопку Update.

Страница настроек плагина Ultimate Category Excluder

Способ 2. Вручную

В WordPress существует еще один способ исключить категорию из вывода на главной. Он предусматривает вставку специальных PHP-инструкций в основной конфигурационный файл functions.php вашей активной WordPress-темы.

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

Добавим следующий код:

function wpschool_category_home( $query ) {
    if ( $query->is_home ) {
        $query->set( 'cat', '-61' );
    }
    return $query;
}

add_filter( 'pre_get_posts', 'wpschool_category_home' );

В указанном коде нужно сделать некоторые изменения. Так, в строке $query->set( ‘cat’, ‘-61’ ) значение ‘-61’ означает уникальный идентификатор категории (рубрики), которую нужно скрыть. О том, как посмотреть это значение, мы детально рассматривали в одной из наших прошлых статей.

Если нужно скрыть несколько категорий, то их ID нужно просто перечислить через запятую. Например:

$query->set( 'cat', '-61', '-44', '-5' );
Курс WordPress-разработчик
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров