Как скрыть посты определенной категории с главной страницы

Rate this post

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

Для исключения постов некоторых категорий с главной страницы нужно создать фильтро-функцию, которая будет проверять ID категорий, и убирать ненужные. Для этого откройте файл functions.php, и вставьте в него такой код:

function removeFromHome($query) {
if ($query->is_home)
    {$query->set('cat','-3');}
return $query; }
add_filter('pre_get_posts','removeFromHome');

Обратите внимание на строчку $query->set('cat','-3'); - в ней со знаком минус указан ID категории, которую нужно исключить с главной страницы. Для того, чтобы исключить посты, принадлежащие сразу нескольким категориям, нужно их перечислить через запятую. Например:

function removeFromHome($query) {
if ($query->is_home)
    {$query->set('cat','-3,-4,-5,-6,-7');}
return $query; }
add_filter('pre_get_posts','removeFromHome');

Как узнать ID категорий? ID не только категорий, Но и постов, тегов, пользователей, страниц наглядно покажет плагин Reveal IDs. Можно и вовсе без плагинов обойтись - просто при редактировании категорий обратите внимание на ссылки, в них присутствует cat_ID=XX, где XX - цифра, обозначающая ID категории.

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

4 Комментарии

  1. Пользуюсь давно этим принципом.

    В продолжении темы, думаю будет полезна ветка на форуме – http://ru.forums.wordpress.org/topic/query_posts-%D0%B2-%D0%92%D0%9F-31?replies=8

    Проверка $query->is_home может возвращать не тот результат, какой вы ожидаете. (я по крайней мере ожидал другой) Нужно тщательно проверять работу фильтров.

  2. Огромное спасибо, убрал определённые записи с Главной, а как теперь их вставить на специальную Страницу?

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

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


*