Всем привет. В данной статье я хотел бы рассмотреть возможность вывода категорий WordPress на Вашей главной странице. Вот смотрите: бывает такой случай, когда Вам не хочется по какой-то причине выводить на главную страницу статьи из определенной рубрики. Причин может быть много: продажная статья, статья предназначена для всех и так далее. Либо же Вы просто хотите выводить статьи из одной рубрики на главной, а остальные были показаны как анонсы в сайдбаре. Для этого нам необходимо будет скрыть уже сами рубрики.
Мы рассмотрим, как минимум два способа скрыть категории и сами новости из главной страницы.
Исключение категорий WordPress при помощи плагина
То, что мы хотим сделать, довольно популярная процедура и много кому уже понадобилась. Поэтому для этих целей существует отличный плагин Exclude Category. Его Вы можете скачать с официального каталога плагинов WordPress, после чего необходимо его установить и активировать. Затем нам необходимо просто выбрать категории, которые не нужно выводить на главной странице сайта и в RSS (либо что-то одно).
Исключение категорий WordPress из главной страницы ручным способом
Второй способ – также очень удобный и можно сказать простой. Вам просто необходимо добавить некоторый код, либо же отредактировать свой шаблон.
Для этих целей, Вам необходимо скачать файл functions.php и вставить туда следующий код:
function removeFromHome($query) {
if ($query->is_home && !(is_paged())) {
$query->set('cat','-1');
}
return $query;
}
add_filter('pre_get_posts','removeFromHome');
Он позволит из рубрики 1, не выводить на главную страницу записи. 1 – это идентификатор рубрики, поэтому, если Вы хотите исключить категории записей из главной страницы, то есть, Вам необходимо знать идентификатор рубрики, которую Вы хотите исключить. А я уже рассказывал Вам о том, как можно узнать идентификатор рубрики WordPress. Как только Вы узнаете, то в данный код подставляете нужную категорию, то есть, ее идентификатор.
Если Вы хотите еще удалить новости из определенной категории и из RSS-ленты, то Вам придется также добавить следующий код в данный файл:
function removeFromFeedHome($query) {
if ($query->is_feed || ($query->is_home && !(is_paged()))) {
$query->set('cat','-1');
}
return $query;
}
add_filter('pre_get_posts','removeFromFeedHome');
Можете еще исключить и со страницы с поиском, тогда добавьте следующий код:
function removeFromHome($query) {
if ($query->is_search) {
$query->set('cat','-1');
}
return $query;
}
add_filter('pre_get_posts','removeFromHome');
Как видите, вариантов масса. Имеется еще некоторые способы, если хотите, могу Вам также рассказать, но это самые простые и понятные, как можно исключить новости из категории на главной странице WordPress.
Также советуем почитать на PressDev.RU
Короткая ссылка: http://pressdev.ru/?p=5416
Здравствуйте, здесь использовать плагин совершенно лишнее. Но кто не хочет копать код, плагин как вариант.