#1 2020-03-10 23:41:49

Dima
Участник
Здесь с 2020-02-15
Сообщений: 27
Windows 7Chrome 80.0

Как скрыть рубрики на главной странице 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 рубрики легко узнать, открыв раздел «Рубрики» в админке.

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] CCBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.015 сек, 10 запросов выполнено - Использовано памяти: 578.54 Кбайт (Пик: 622.24 Кбайт) ]