Как скрыть рубрики на главной странице WordPress без помощи плагинов?

Есть у меня один сайт, где на главную страницу не хочу выводить несколько рубрик. До недавнего времени успешно пользовался плагином Advanced Category Excluder, о котором знает практически каждый. Плагин просто отличный, содержит массу настроек и обладает большими возможностями. После последнего переноса сайтов на новый сервер начались проблемы с новыми и старыми публикациями, заместо которых отображалась страничка 404. Сегодня решил наконец разобраться с этой проблемой и нашел очень простое решение, о котором не знал.

Открываем в редакторе index.php темы, находим строчку:

<?php if (have_posts()) : ?>

или похожую и прописываем после нее код:

<?php query_posts($query_string.'&cat=-67'); ?>

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

Если надо удалить с главной страницы несколько рубрик, то делаем код вида:

<?php query_posts($query_string.'&cat=-607,-141,-377,-154,-115'); ?>

Все просто и не нужны никакие плагины.

Но Advanced Category Excluder выполняет еще одну функцию — не позволяет отдавать записи в RSS ленту. На это тоже есть решение. Открываем functions.php темы и прописываем:

function exclude_cat_feed($query) {
if ($query->is_feed) {
$query->set(‘cat’,'-1 -4′);
}
return $query;
}
add_filter(‘pre_get_posts’,'exclude_cat_feed’);

Где цифры это рубрики.

ID рубрики легко узнать, открыв раздел «Рубрики» в админке.

Как скрыть рубрики на главной странице WordPress без помощи плагинов?
В данном случае ID=5.

Как скрыть рубрики на главной странице WordPress без помощи плагинов?: 8 комментариев

    1. DimaBerg Автор записи

      Сделайте одинарные кавычки прямыми ‘ (скорее всего код вставляется неотформатированным).

      Способ работает на любых шаблонах.

  1. Андрей

    Способ хороший, но при его использовании посты на главной выводятся в обратном порядке — в самом верху самый старый пост и так далее. можно это как-то исправить?

    1. DimaBerg Автор записи

      Не сталкивался с такой проблемой, поэтому ничего посоветовать не могу.

      1. Андрей

        Ух, разобрался. Это на локалхосте такая ситуация. На хостинге все пашет нормально.

  2. Ив@н

    У меня тоже не получается 🙁 Подскажите пожалуйста как сделать то же самое на WordPress 3.5.1

  3. Игорь

    Какие движки для сайта в основном у тебя? И еще: Какие плагины используешь в вордпрессе?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *