На одном из моих проектов возникла необходимость убрать с главной страницы записи из определенной категории. В этом конкретном случае это записи категории новости, которые представляют собой рерайт по большей части и не представляют ценности для целевого пользователя. Решение оказалось до боли простым. Привожу текст функции, который надо вставить в файл functions.php
вашей темы.
[adsense]
Функция
function exclude_category($query) {
if ( $query->is_home ) {
$query->set('category__not_in', array(1));
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');
Давайте разберемся в выше приведенном коде.
$query->is_home
— означает, что мы убираем посты определенной категории с главной страницы.
Другие значения параметра:
$query->is_feed
— убираем посты из RSS ленты.$query->is_feed or $query->is_home
— убираем посты и с главной и из RSS ленты.
'category__not_in', array(1)
— задаются ID категорий, записи из которых требуется исключить. В данном случае посты из категории с ID=1.
Другие значения параметра:
'category__not_in', array(1, 2, 3)
— исключаются записи из категорий с ID 1, 2, 3.
Как узнать ID категории?
Достаточно зайти в админ-панель, в раздел «рубрики» и навести указатель мыши на нужную рубрику. ID категории кроется в ссылке после tag_ID=
— это и есть ID рубрики.
Присматриваете люстру или светильник? Тогда обратите внимание на интернет магазин lampa.kiev.ua — огромный выбор люстр, светильников и ламп. Мне вот приглянулись светильники eglo — отличное австрийское качество, огромный выбор форм и размеров, энергосбережение и практичность.
а как исключить определенную запись из определенной рубрики? к примеру, есть рубрика «А», в которой есть подрубрика «Б». при добавлении статьи в «Б» она автоматом отображается в «А», чего нам не надо. возможно это реализовать?
теоретически возможно, но придется переписывать функцию вывода записей. я думаю, можно заказать такое на фрилансе — стоить будет недорого
а куда функцию писать-то?
точнее есть ли разница в какое место
functions.php его вставить
обычно в конце дописывают до закрывающего тэга
Вот за это реально спасибо. Уже два часа бился , как убрать мне показ категории с одной из страниц. Шаблон у меня не стандартный — доска объявлений Маялся часа два, пока нашел, просто везде пишут одно и тоже, ниче не помогает. Твоя штука
exclude_category реально помогла.
Спасибо, помогло!