Исключаем вывод записей из определенной рубрики на Главной, из результатов поиска и из RSS-ленты
Рассмотрим самый простой вариант исключения рубрики с id=17 из вывода на Главной странице без использования query_posts. Для этого в файл functions.php добавим фильтр:
function removeFromHome($query) { if ($query->is_home) {$query->set('cat','-17');} return $query; } add_filter('pre_get_posts','removeFromHome');
Теперь на Главной странице будут выводиться все последние записи, кроме записей из определенной рубрики, в данном случае, кроме записей из рубрики с ID=17.
Если нужно чтобы только на первой странице не отображались записи из рубрики 17, а на 2-ой, 3-ей и остальных страницах записи из рубрики 17 отображались, тогда нужно использовать такой код:
function removeFromHome($query) { if ($query->is_home && !(is_paged())) {$query->set('cat','-17');} return $query; } add_filter('pre_get_posts','removeFromHome');
В таком случае на Главной странице на 1 странице будут выводиться все записи кроме записей из Рубрики 17, а на остальных страницах /page/2, /page/3 и дальше будут выводиться уже все записи, в том числе и из рубрики 17.
Если необходимо исключить записи из рубрики 17 со страницы результатов поиска, то используем такой код:
function removeFromFeed($query) { if ($query->is_search) {$query->set('cat','-17');} return $query; } add_filter('pre_get_posts','removeFromFeed');
Если необходимо исключить записи из рубрики 17 из RSS ленты, то используем такой код:
function removeFromFeed($query) { if ($query->is_feed) {$query->set('cat','-17');} return $query; } add_filter('pre_get_posts','removeFromFeed');
Можно комбинировать комбинации исключений. Например, исключаем записи из рубрики с ID=17 и ID=18 из RSS-ленты и Главной страницы, при чем только с первых страниц:
function removeCat($query) { if ($query->is_feed || ($query->is_home && !(is_paged()))) {$query->set('cat','-17,-18');} return $query; } add_filter('pre_get_posts','removeCat');
Во время создания одного проекта связанного с арендой недвижимости возникла маленькая задачка с подключением Google…
Вывод всех записей custom post type review без пагинации: Вывод записей custom post type review…
28 июля 2015 года на почту начали приходить сообщения от Google Search Console Team <sc-noreply@google.com> …
WordPress — это удобная блог-платформа для публикации статей и управления ими, на которой базируется огромное…
1 комментарий
Ответить
Весело)) Нашел ответ на свой вопрос на своем сайте через Google. Спасибо, Денис!