Исключение рубрики из главной страницы
Как можно безвредно исключить из выдачи главной страницы все записи с рубрики N?
Причем так чтобы не поломался цикл (выходило к примеру ровно 5 записей) и оффсет (пагинация простым словом).
На способ фильтровать по ID рубрики записи в loop ответ сразу нет (таким способом на каждой странице будет свое кол-во показываемых записей).
Это можно сделать с помощью is_main_query, там 2 пример почти то, что нужно.
Событие pre_get_posts там первый пример, как раз ваш случай...
#1 Исключение категорий на главной
Этот пример показывает как убрать посты из указанных категорий из вывода на главной странице блога. Например, у нас есть 2 категории с ID 1 и 1347, которые нам не нужно показывать на главной. Чтобы исключить эти категории из запроса, используйте такой код в плагине или в теме:
В is_main_query и pre_get_posts в принципе одинаковые примеры размещены