Как установить noindex для пагинации WordPress. Как исключить записи и категории из главной страницы WordPress, rss ленты, категорий и архивов без плагинов Исключить из пагинации некоторые рубрики wordpress

…как это сделать? …в общем, не сложно. И коли задача состоит именно в запрете отображения той или другой категории, то — эту блажь мы за несколько минут обделаем.

Однако есть закавыка, -

…решая задачу запрета показа рубрики в виджете, возникает мрачная связка с ней, а именно вопрос: как настроить показ категорий в нужном и логичном порядке, но не хаотично!?


…следует крепенько поразмышлять. …и чётко определиться со своими потребностями. Но обо всём по порядку: а в финале дам совершенное и гениальное решение фильтрации категорий…

используя лёгкость кода В реализации подобных запретов/разрешений нужного/не нужного контента блога, стоит иметь в виду некоторую перспективу развития вашего сайта, чтобы не столкнуться с другим сопутствующим «сюрпризом» быть или не быть перестройке блога в будущем - или в правке файлов, или в замене плагинов.

Ведь всегда существует альтернатива: использовать ли плагин (их количество «…как махорки…» не всегда гуд), либо прописать код в файл функций - f unctions.php (неплохо, но не решает задачу однозначно)!?

Определяйтесь!..

Я же показал возможную тех-недостаточность необдуманного начала ведения блога, теперь же предлагаю возможные способы логичного решения:

Если вам всего-то требуется скрыть какую-то определённую категорию вордпрессовского виджета, который по умолчанию присутствует в чреве любого нового сайта, то это просто.

Открываем файл о котором говорилось functions.php и куда-то в его финал раскодровки) перед тегом?> прописываем вот этот лихой кодированный-фильтр.

//КОД ИСКЛЮЧЕНИЯ РУБРИК start function ext_widget_categories($args){ $exclude = "39"; $args["exclude"] = $exclude; return $args; } add_filter("widget_categories_args","ext_widget_categories"); //КОД ИСКЛЮЧЕНИЯ РУБРИК end

Цифра 39 указывает id рубрики, который фильтруется, как бесполезный базар на сайте.

Можно указывать несколько, через запятую.

…Всё, один из вопросов закрыт.

как скрыть показ подрубрики в виджете

Решение в варианте кода чуть ниже, который запрещает/разрешает вывод имён определённых подрубрик (дочерних записей блога).

//код вывода единственно подрубрик рубрики с указанным ID=7 start function ext_widget_categories($args){ $args["child_of"] = 7; return $args; } add_filter("widget_categories_args","ext_widget_categories"); //код вывода единственно подрубрик рубрики с указанным ID=7 end

Аргументацию этих кодов можно и объединить.

Ну вот!! мы добились полного контроля управлением ПОКАЗА в виджете «Рубрики» всех ваших категорий.

…но — однако, говорим мы!! Частенько бывает так, что некоторое время спустя, открыв страничку сайта, с горечью обнаруживается ещё один недочёт: рубрики в виджете сайдбара расположены не в логичном порядке (беспорядочно) - привередливость развивающегося профессионализма, знаете ли.

В этом случае также нужно выбирать из нескольких симпатичных вариантов:

смотаемся в депозиторий плагинов Вордпресс - путь: консоль/плагины/добавить плагин/…установить/активировать… такое чудо Category Order and Taxonomy Terms Order .

Технический перевод цитаты к плагину:
Заказать Категории и все термины таксономии (пользовательские иерархически) и дочерние термины, используя перетаскивания Сортируемый Javascript возможности.
Плагин не имеет путаных настроек: всего-то потребуется навести курсор на «записи» слева в консоли, и рассмотреть пункт Taxonomy Order …

Всё парадоксально просто: путём перетаскивания дощечек настраивайте оптимальную для себя последовательность отображения имён имеющихся рубрик.

К минусам «плагинного» способа относится следующее: нельзя запретить показ определённых категорий…

Следовательно, придётся использовать код предложенный выше, либо же плагин показанный ниже…

Запрещаем вывод некоторых рубрик посредством плагина NS Category Widget

…заскочим опять же в депозиторий WordPress и скачаем плаг NS Category Widget - этот «рывок» нам подарит к имеющемуся виджету «Рубрики» ещё один, но более изящного настрою: т.е - обычный виджет следует удалить или спрятать в «неактивные», а настроить этот продвинутый вариант управления контентом: его показом/запретом.

Переходите в его настройки и задавайте свои правила: по id категории, значимости иерархий и тому подобной регулировке… Всё просто!

Плагин позволяет использовать множество единиц виджетов на нужных уровнях страничек, к которым и настройки индивидуальные в отличие от стандартного «рубрикатора», коих выведи хоть десяток, но настройки «верхнего» кода распространятся на всякий: это и есть минус способности соединить стандартный виджет «рубрики» и описанный код в самом начале статьи… И коли вы предполагаете пользоваться несколькими вариантами виджетов рубрик, то всё-таки стоит скачать плагин NS Category Widget.

НО! в продвинутом нет более простого и тонкого порядка сортировки категорий - это его минус. Такая вот путаница!

Решение за вами…

…если вы что-то увидели в статье для себя полезное, здорово!

Общеизвестно, что пагинация порождает дублирование страниц. Это, в свою очередь, может привести к тому, что такой сайт может “просесть” в поисковой выдаче. В этом случае единственным выходом из этой ситуации является сделать так, чтобы поисковые роботы не “увидели” того, что где-либо на сайте есть разбиение на страницы.

Как закрыть от индексации пагинацию?

Одним из методов решения задачи является добавление директивы noindex на страницах пагинации. В итоге они должны выглядеть следующим образом:

noindex – специальная директива, служащая для обозначения ссылок, не желательных для индексирования поисковыми системами. Натыкаясь на нее, поисковый робот сразу “поймет”, что эту страницу не нужно учитывать. Он ее просто-напросто пропустит, отчего она не будет занесена в список тех, которые надлежит добавить в индекс.

Из всех способов решения задачи наиболее корректным и легким для WordPress-пользователя является плагин , который в два клика спрячет от поисковиков пагинацию. Для этого достаточно перейти в админ-раздел Clearfy Pro , затем на вкладке SEO задействовать опцию Noindex для пагинации .

Кроме плагина Clearfy Pro , существуют и другие, менее удобные, способы закрыть от роботов пагинацию. Рассмотрим наиболее популярные из них.

Способ 1. Файл functions.php

Этот способ предусматривает внесение специального PHP-кода в файл Вашей активной темы.

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин .

Итак, в самый его конец необходимо добавить следующие строки:

Function wpschool_noindex_pagination() { if(is_paged()) echo ""; }; add_action("wp_head", "wpschool_noindex_pagination");

В результате работы кода на страницах пагинации (начиная со второй), в разделе , будет присутствовать вышеуказанная строка:

Способ 2. Файл robots.txt

Добавить noindex для страниц пагинации также можно через специальный файл robots.txt, который находится в корневом каталоге Вашего сайта. В нем нужно дописать следующую строчку:

Disallow: */page/

Этот способ аналогичен предыдущему и дает тот же результат.

На главной странице, а так же на страницах рубрик, архивов и в результатах поисках, как правило нужна постраничная навигация (так же известная как пагинация). Блоги на WordPress не являются исключением, они так же используют пагинацию, когда результаты вывода информации разбиваются на несколько страниц.

Ранее для реализации этой возможности использовались сторонние плагины, либо специальные функции, которые размещались в файле functions.php . Однако с выходом WordPress версии 4.1 функция пагинации была встроена в ядро CMS, и теперь для реализации постраничной навигации достаточно внутренних функций WordPress и нет никакой необходимости добавлять сторонний код или плагины.

Я писал ранее о подобном улучшении со стороны WordPress в отношении тега TITLE — https://aboutwordpress.ru/post/wordpress-title/ .

Что такое пагинация

Пагинация — это разбиение информации на страницы. Также под этим понятием подразумевают порядковую нумерацию страниц, обозначаемых цифрами, располагаемыми внизу, вверху или сбоку страницы.

WP-PageNavi — плагин пагинации WordPress

Самым популярным плагином пагинации для WordPress является WP-PageNavi . По-совести говоря, он настолько хорошо справляется с поставленной задачей пагинации, что обсуждать и сравнивать остальные плагины нет никакого смысла.

Пагинация WordPress - плагин WP-PageNavi

Пагинация wordpress без плагина

Для того чтобы сделать пагинацию на сайте без плагинов мы воспользуемся встроенной WordPress функцией the_posts_pagination(). В нужном нам месте необходимо вставить следующий код (как правило это файлы index.php , category.php и им подобные):

Результатом работы функции the_posts_pagination() будет примерно такой HTML код:

Удаляем заголовок H2 из пагинации

Сразу бросается в глаза H2-заголовок «Навигация по записям». Которому в большинстве случаев не место на сайте. Чтобы от него избавиться добавим следующий код в файл functions.php :

/* Удаляем H2 из пагинации */ add_filter("navigation_markup_template", "my_navigation_template", 10, 2); function my_navigation_template($template, $class){ return "

"; }

Настраиваем страницы пагинации

По умолчанию the_posts_pagination() отображает первую и последнюю страницу, а также по одной странице вокруг текущей. Все остальные заменяются многоточием. Это поведение можно изменить с помощью аргументов:

  • show_all - показывать все страницы
  • end_size - количество страниц в начале и конце списка
  • mid_size - количество страниц слева и справа от текущей страницы

Например так:

2, "end_size" => 2,)); ?>

Стили пагинации CSS

Page-numbers { padding: 1% 2%; box-shadow: 0 0 10px #ccc; margin: 0 1% 0 0; background: #fff; border-radius: 3px; }

Выглядеть ссылки на страницы пагинации при таких стилях будут следующим образом:

Здравствуйте, ребята!

Сегодня будет статья технической тематики, которая покажет, как исключить записи из главной страницы сайта под управлением WordPress.

Также узнаете, как исключить целые категории, а не только конкретные записи. Покажу множество вариантов, как с плагинами, так и без них. В общем, все как всегда.

В каких случаях применять?

Нужда исключить некоторые записи, то есть их анонсы, из главной страницы по большей части существует на персональных блогах, когда помимо больших качественных статей для постоянной аудитории стоит еще наполнять ресурс простыми SEO оптимизированными статьями.

Такие статьи вряд ли будут полезны заседателям блога, так как они уже все это знают. Чтобы не засорять главную страницу ненужными анонсами, целесообразней будет не показывать их. В то же время их стоит добавлять на сайт, чтобы привлекать новую аудиторию на ресурс из поисковых систем. Отображение их тоже нужно, но делать это стоит на страницах рубрик и архивов, чтобы новички их могли найти, воспользовавшись навигацией по разделам сайта.

Например, данную статью вы не найдете на главной странице моего блога ни на одной их страницы пагинации (постраничной навигации). В то же время, анонс статьи виден в рубрике "Полезное" и на странице карты сайта "Все статьи".

Без плагина

Способ без плагина всегда предпочтительней, но в данном случае он будет не в приоритете, так как для исключения какой-то статьи придется каждый раз вносить правки в файл шаблона, который у вас установлен. Но все же я покажу несколько различных вариант реализации подобного решения, так как вполне реально, что вас это устроит.

Ниже я буду давать различные куски кода, которые стоит размещать в файле шаблона functions.php.

Исключение конкретных записей по ID

В таком варианте нет нужды скрывать целые рубрики из видимости на главной, как это делают многие с помощью различных плагинов. Стоит лишь в коде добавлять ID нужных записей.

function exclude_post($query) { if ($query->is_home) {$query->

if ($query -> is_home )

{ $query ->// id записи (поста)

return $query ; }

В строке 3 числа 1 и 2 являются ID записями, которые не будут отображаться на домашней странице. Прописывать нужно через запятую.

ID записи, страницы и категории узнаете в адресной строке браузера при просмотре через редактор.

Следующий вариант позволит исключить записи из RSS ленты.

Исключение из RSS ленты

Такой код позволит исключить анонсы из новостной ленты и не отправлять их по базе e-mail, если используете сервис подписки и анонсирования с помощью Feedburner.

function exclude_post($query) { if ($query->is_feed) {$query->set("post__not_in", array(1, 2));} // id записи (поста) return $query; } add_filter("pre_get_posts","exclude_post");

function exclude_post ($query ) {

if ($query -> is_feed )

{ $query -> set ("post__not_in" , array (1 , 2 ) ) ; } // id записи (поста)

return $query ; }

add_filter ("pre_get_posts" , "exclude_post" ) ;

Добавление записей в этом случае и во всех остальных происходит аналогично.

Исключение из рубрик и архивов

Для исключения записей со страниц рубрик, стоит использовать следующий код.

function exclude_post($query) { if ($query->is_category) {$query->set("post__not_in", array(1, 2));} // id записи (поста) return $query; } add_filter("pre_get_posts","exclude_post");

function exclude_post ($query ) {

if ($query -> is_category )

{ $query -> set ("post__not_in" , array (1 , 2 ) ) ; } // id записи (поста)

return $query ; }

add_filter ("pre_get_posts" , "exclude_post" ) ;

Данный код можно модифицировать и применить исключение из архивов. Нужно во 2й строек заменить функцию is_category на is_archive.

Исключение из страницы поиска

Такой вариант также может потребоваться, если какие-то записи не стоит показывать посетителям, когда они пользуются поиском по сайту. Например, это могут быть различные новостные статьи, которые не несут контента по тематике сайта.

function exclude_post($query) { if ($query->is_search) {$query->set("post__not_in", array(1, 2));} // id записи (поста) return $query; } add_filter("pre_get_posts","exclude_post");

function exclude_post ($query ) {

if ($query -> is_search )

{ $query -> set ("post__not_in" , array (1 , 2 ) ) ; } // id записи (поста)

return $query ; }

add_filter ("pre_get_posts" , "exclude_post" ) ;

Комбинирование нескольких вариантов

Можно совместить все выше предоставленные варианты и исключить записи из всех типов страниц сразу или выборочно на необходимых.

Если хорошо посмотреть на все коды, то во 2й строек можно увидеть условие, в котором задан параметр типов страниц для отключения отображения в них анонсов записей:

  • is_search
  • is_category
  • is_feed
  • is_home

Можно комбинировать все варианты и исключить записи отовсюду или же на некоторых страницах. Например, для исключений из рубрик и главной стоит разместить в файле functions.php следующий код.

function exclude_post($query) { if ($query->is_category || ($query->is_home)) {$query->set("post__not_in", array(1, 2));} // id записи (поста) return $query; } add_filter("pre_get_posts","exclude_post");

function exclude_post ($query ) {

if ($query -> is_category || ($query -> is_home ) )

{ $query -> set ("post__not_in" , array (1 , 2 ) ) ; } // id записи (поста)

return $query ; }

add_filter ("pre_get_posts" , "exclude_post" ) ;

Во 2й строке с условием (if - если) прописаны параметры для категорий (is_category) или главной (is_home).

Замечу, что каждый следующий параметр прописывается внутри предыдущего через 2 вертикальных черты и находится в своих скобках. То есть, посмотрев на предыдущий код увидите, что второе условие для главной страницы заключено в свои скобки и находится внутри общих скобок, которые оборачивают первое условие для категорий.

Если стоит добавить какое-то 3е условие, например для страниц архивов, то стоит его добавить внутри скобок с условием для главной (is_home) и прописать через 2 вертикальные черты. На практике это выглядит следующим образом.

function exclude_post($query) { if ($query->is_category || ($query->is_home || ($query->is_archive))) {$query->set("post__not_in", array(1, 2));} // id записи (поста) return $query; } add_filter("pre_get_posts","exclude_post");

function exclude_post ($query ) {

if ($query -> is_category || ($query -> is_home || ($query -> is_archive ) ) )

{ $query -> set ("post__not_in" , array (1 , 2 ) ) ; } // id записи (поста)

return $query ; }

add_filter ("pre_get_posts" , "exclude_post" ) ;

Таким же принципом добавляйте для исключения и другие типы страниц.

Следующим вариантом исключения записей является исключения целых рубрик (категорий).

Исключение целых категорий

Это очень удобно для лентяев, когда можно просто создать какую-то категорию и добавлять туда все записи, не требующие отображения на определенных типах страниц.

Структура кода практически аналогична. В нем лишь меняется параметр, который задает исключение поста или категории. В ранее рассмотренных случаях в последней строке был задан параметр исключения записи exclude_post. В новом коде его стоит заменить на exclude_cat.

function exclude_cat($query) { if ($query->is_home) {$query->set("cat","-1, -2, -3");} // id категории return $query; } add_filter("pre_get_posts","exclude_cat");

function exclude_cat ($query ) {

if ($query -> is_home )

{ $query -> set ("cat" , "-1, -2, -3" ) ; } // id категории

return $query ; }

add_filter ("pre_get_posts" , "exclude_cat" ) ;

Как видим, последняя строка потерпела изменений и 3я строка, где изменен параметр, считывающий ID рубрики. ID в данном случае прописывается через черточку, но так же само через запятую.

Принцип построения условия для типов страниц аналогичен рассмотренным вариантам ранее, где я показывал на примере исключения конкретных постов. Стоит изменять 2ю строку, добавляете необходимые параметры для категорий, поиска, архивов или RSS ленты.

Итак, способы без плагина мы рассмотрели. Имеется еще вариант исключения записей о тегам, но сейчас теги уже не очень актуальны на 99% ресурсов. Если вам необходима такая информация, то напишите в комментариях об этом, пожалуйста. Сразу все добавлю.

Плагины

Плагины являются боле гибким решением в данном вопросе, так как при исключение конкретных записей нет нужды каждый раз редактировать файл шаблона. Стоит ишь ставить чек-бокс в редакторе нужных записей при их публикации или после.

Если же стоит исключить специальную рубрику, созданную под статьи, не требующие отображения, то лучше воспользоваться одним из выше предоставленных кодов.

Плагин Simply Exclude

Скачать плагин можно, как через консоль WordPress с помощью поиска, так и с официального сайта WordPress .

После активации он уже будет работать и можно не настраивать его. Но все же я рекомендую сделать некоторые изменения, чтобы работа с его функциями была более приятной.

После установки и активации сразу переходим в его настройки.

Изначально в настройках плагина все выставлено так, что при активации чек-бокса (рассмотрим чуть ниже) нужные страницы (записи, категории, страницы) будут помечены, как "разрешены для отображения". Таким образом для каждого типа страниц нужно будет проставить все чек-боксы, чтобы все отображалось.

Более логично будет выставить такой вариант, когда активировав чек-бокс (например, для главной страницы) он будет помечать статью или что-то другое, как запрещенное для отображения.

В настройках имеются 3 вкладки, которые призваны настроить параметры для разных типов страниц:

  • Taxonomies (таксономии) - настройка для функционирования плагина в разделах админ-панели WordPress: рубрики и метки;
  • Post types (типы постов) - для типов постов: статьи и страницы;
  • Users - настройки для пользователей.

Сейчас я дам скриншот настроек первой вкладки (таксономии) и объясню параметры, которые стоит выставить.

  • В первом блоке настроек "Active" необходимо выставить чек-бокс "Active", чтобы плагин добавлял нужные чек-боксы для отключения отображения в рубрики или любые другие типы страниц;
  • Во втором блоке ставим все параметры напротив варианта "Exclude". Он означает, что при включенном чек-боксе в редакторе каждого типа страниц, она будет скрыта от отображения и новые статьи будут по умолчанию открыты для показа. Если поставить параметр "Include only", то поставив чек-бокс, записи будут открыты для показа и новые статьи по умолчанию будут скрыты. Если выбран второй вариант "Include only", то после установки плагина все записи будут скрыты и нужно будет выставить вариант "Exclude";
  • В блоке "Show/Hide" ставим параметр "Show", чтобы нужные чек-боксы отображались в каждом типе страниц для возможности отключения или разрешения отображения.

Такие же параметры стоит проставить и на остальных 2х вкладках настройек плагина Simply Exclude.

Например, вот скриншот вкладки "Post types".

Конечно же, можно отключить функционирования некоторых функций, например на первой вкладке можно деактивировать работу плагина для рубрик, если мы не собираемся исключать все записи целой категории.

Теперь по поводу работы самого плагина. Когда проставили нужные параметры, то можно переходить в редактор каждого типа записей и ставить чек-боксы напротив тех страниц, где нужно исключить их отображение.

Например, чтобы проставить настройки для записей, можно перейти в редактор необходимой статьи или же через пункт все статьи. И там и там будут нужные чек-боксы. В редакторе в правой колонке будет блок "Simply Exclude", содержащий 4 чек-бокса для скрытия записи и страниц:

  • Archives - категорий и архивов;
  • Feeds - RSS ленты;
  • Front/Home - главной;
  • Searches - поиска.

Проставив нужный чек-бокс, скроете запись из определенного типа страниц.

В пункте админ-панели WordPress "Все записи" напротив каждого материала в новой колонке с названием "Simply Exclude show" также будут эти 4 чек-бокса. То же самое касается и рубрик. Будет добавлена новая колонка со всеми чек-боксами.


Вот и все по этому плагину. Установив его вы можете очень быстро и гибко изменять параметры отображения конкретных записей или целых рубрик без вмешательства в файлы шаблона.

Плагин Exclude Categories

Плагин предназначен только для скрытия целой рубрики из главной страницы и RSS ленты. Так как этот вариант не требует особой гибкости (создал один раз рубрику и туда добавляет статьи), то я рекомендую реализовать исключение целой рубрики кодом (см. пункт 2).

Скачать плагин можете по кнопке ниже.

После его установки перейдите в настройки (Настройки - Exclude Category) и выберите необходимую рубрику для исключения ее с главной страницы.

Исключение всех записей какой-то рубрики - широко распространенный вариант. Но я вижу в нем недостаток, так как на сайт приходится сильно много публиковать статей для привлечения поискового трафика и все они будут по различным вопросам одной темы.

А пихать различные материалы в одну рубрику - не очень хорошо.

Такой вариант также часто используется при активной продаже ссылок на сайте. Владелец создает рубрику и все статьи с продажными ссылками публикует в него. И это также не очень хорошо, так как сейчас веб-мастера требуют размещение ссылки в одном из основных разделов сайта, чтобы она была хотя бы немного кликабельна и имела эффект при продвижении.

Все, ребята, на данной ноте заканчиваю сей подробный мануал, который вам должен пригодиться, если вы пришли по адресу на эту статью. Надеюсь, что все у вас будет отлично.

Желаю прекрасного настроения и великолепного вам дня. До встречи.

С уважением, Константин Хмелев!

Сегодня статья о том, как можно вручную, без использования плагинов, исключить рубрики с главной страницы сайта на Вордпрессе.

Существует несколько сопособов для исключения показов записей из определённой рубрики на главной странице вашего сайта-блога. Один из самых простых, на мой взгляд, способов — это добавить небольшой кусочек кода в файл functions.php . Этот кусочек кода будет своеобразным фильтром, который избавит нас от необходимости изменять другие файлы темы. С помощью этого метода не нужно тратить время на переделку цикла вывода записей в файле index.php через query_posts .

Итак, рассмотрим на примере:

1) Допустим нам нужно удалить записи с рубрики, идентификационный номер которой равен 4, то есть ID=4. Другими словами, нам нужно исключить показ записей рубрики, ID которой равен 4, с главной страницы.

2) С задачами определились, приступаем к реализации — для этого добавим в файл functions.php следующий кусочек кода:

Function removeFromHome($query) { if ($query->is_home) {$query->

Сохраняем нами измененный файл functions.php и видим, что на главной странице больше нет записей из рубрики ID=4.

С точки зрения логики Вордпресс, главная страница — это также и любая другая страница, которая образована постраничной навигацией. Таким образом, посты из исключённой рубрики ID=4, мы не увидим на странице 2, 3 или 4 и так далее.

Если такой вариант не подходит, то можно немножко изменить приведённый выше код на такой:

Function removeFromHome($query) { if ($query->is_home && !(is_paged())) {$query->set("cat","-5");} return $query; } add_filter("pre_get_posts","removeFromHome");

Сохраняем и теперь на каждой странице, кроме главной, записи из рубрики с ID=4 будут нормально отображаться.

Исключение записей рубрики из результатов поиска

Если у вас возникла необходимость исключения записей рубрики со страницы результатов поиска, то нужно всего лишь поменять is_home на is_search .

Для исключения записей нескольких рубрик, нужно перечислить ID этих рубрик через запятую в указанных выше кодах. Допустим, нужно исключить рубрики, ID которых 3,7,8,9. Тогда в коде будут такие изменения:

Function removeFromFeed($query) { if ($query->is_feed) {$query->set("cat","-3, -7, -8, -9");} return $query; } add_filter("pre_get_posts","removeFromFeed");

Исключение записей рубрики из RSS ленты

Как же поступить, если нужно исключить записи определённой рубрики из вашей RSS ленты? А поступить можно очень просто — используем код ниже:

Function removeFromFeed($query) { if ($query->is_feed) {$query->set("cat","-4");} return $query; } add_filter("pre_get_posts","removeFromFeed");

Сохраняем изменения и видим, что в ленте больше нет записей с ненужной нам рубрики.

Исключение записей рубрики из RSS ленты и главной страницы

Если вдруг вам нужно сделать так, чтобы на главной странице и в ленте не отображались записи с определённой рубрики, то нужно использовать следующий код:

Function removeCat($query) { if ($query->is_feed || ($query->is_home && !(is_paged()))) {$query->set("cat","-3,-7");} return $query; } add_filter("pre_get_posts","removeCat");

В этом случае записи рубрик, ID которых равен 3, не будут показываться на главной странице и в RSS ленте, но будут показываться при открытии других страниц.

Изменения в файл functions.php можно вносить в любое место, но не касаясь кода другой функции. Проще всего — дописать код в конце файла.

Отопление