Не выводить новости из рубрики на главной в WP
galina2601 9-02-2016, 12:16 2 756 Уроки по CMS / Уроки по wordpressЛюбимый многими движок WordPress изначально заточен под блоги. То есть анонс каждой новой статьи из любой рубрики автоматически выводится на главной странице.
Однако, иногда возникает необходимость не выводить кое-какие посты в основной ленте. Ну, скажем, рекламные пресс-релизы или статьи личного характера, которые не хотелось бы выносить на всеобщее обозрение.
Конечно, можно настроить движок так, чтобы на главной отображалась статическая страница, а не новости. Но это не то. Есть много плагинов, позволяющих "прятать" и новости и даже целые рубрики. Но чаще всего нужно просто не выводить статьи из какой-то одной рубрики. И помочь в этом может вот этот маленький скрипт.
Итак.
Для начала заходим в админпанель WordPress.
Выбираем: Внешний вид - Редактор
Выбираем: Функции темы (functions.php)
В самом конце добавляем такой скрипт:
function exclude_category($query) {
if ( $query->is_home ) {
$query->set('category__not_in', array(7));}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');
Обратите внимание на красную цифру 7 в коде. Ее нужно будет заменить на id вашей рубрики, новости которой не надо будет выводить на главной.
Для того, чтобы выяснить id рубрики надо:
Зайти в админпанель WordPress.
Выбирать: Записи - Рубрики
Найти в списке нужную категорию на нажать ссылку "Изменить"
После этого посмотреть на адресную строку браузера:
Вот и все.