Опубликовано: 09.10.2017
Сегодня я продолжаю изучать тонкости API WordPress. Приступим к делу. Итак, помимо всеми используемой функции query_posts существует также возможность корректировать выборку записей на уровне фильтров. Имя такому крючку дано соответствующее pre_get_posts.
В качестве демонстрации исключим вывод записей из трех заданных рубрик с главной страницы нашего вордпрессного бложика.
<?php add_filter ( 'pre_get_posts' , 'hideCategory' ) ; function hideCategory ( $variable ) { if ( $variable -> is_home ) { $variable -> set ( 'cat' , '-32,-3,-100' ) ; } return $variable ; } ?>...На остальных страницах (архивы, результаты поиска) все будет работать в обычном режиме.
Вешаем хук на то, что я уже упомянул выше, функцией hideCategory, где 32, 3 и 100 - это идентификаторы рубрик. Записаны они со знака минус, т.к. именно их и требуется исключить. Использовать, как обычно в «functions.php».