Как исключить категорию / рубрику из RSS-ленты блога на WordPress
В этой статье вы узнаете, как не выводить определенные посты в rss-ленту.
Когда у вашего блога уже достаточно большая база подписчиков, вы начинаете дорожить ими и беспокоиться о том, насколько интересно им получать вашу рассылку. Иногда вы пишите статьи специально для SEO, которые не сильно интересны для людей. Или хотите осветить какую-то очень узкую тему, которая будет интересна одному проценту ваших читателей. А может быть, в вас проснулось неугомонное желание работать и вы начали публиковать по три статьи в день.
Все это может стать причиной, что подписчики устанут от ваших рассылок и начнут отписываться. Чтобы этого избежать, мы займемся созданием особой рубрики, статьи которой не будут попадать в RSS-ленту, а соответственно и на почту подписчиков.
Как сделать, чтобы определенные посты не попадали в рассылку.
Способ первый:
- Узнаем ID рубрики, которую будем исключать. Для этого переходим в «Записи -> Рубрики», наводим указателем мыши на нужную рубрику и смотрим на параметр tag_ID в строке состояния браузера.
- Открываем файл functions.php активной темы. Для этого заходим в «Внешний вид -> Редактор», в правой колонке ищем Функции темы (functions.php) и добавляем в конец файла код:
где через запятую перечислены ID категории, которые вы хотите скрыть из RSS-ленты.
1 2 3 4 5 6 7
function exclude_category($query) { if ($query->is_feed) { $query->set('cat','-85,-115'); } return $query; } add_filter('pre_get_posts','exclude_category');
Файл с функциями темы также можно открыть, зайдя по ftp. При вставке кода, обратите внимание, чтобы закрывающий символ ?> остался после вставленного вами кода.
Способ второй:
Можно исключить посты из рассылки, прописав ID рубрики прямо в ссылке на rss-ленту. Для этого измените адрес вашей rss-ленты на следующий:
http://ваш-сайт.ru/feed?cat=-84,-115 |
где через запятую перечислены ID скрытых категорий. Данный способ плох тем, что ID скрытых категорий будут видны в адресной строке читателей ленты. Есть третий способ скрыть категории из RSS ленты – использовать плагин Exclude Plugin Settings. Но я не буду про него писать, т.к. он сложнее предыдущих и я не советую этот способ. Большое количество плагинов негативно сказывается на скорости работы сайта, поэтому старайтесь обходиться без плагинов, когда это возможно. На этом все!
А как сделать, чтобы эти записи с главной тоже удалились?
Максим, сегодня же напишу статью об этом! Спасибо за идею)
как показать в rss ленте записи из определённой рубрики
у меня есть 100 рубрик и мне надо показать записи в rss ленте только одной рубрики. как это сделать?
есливаш-сайт.ru/feed?cat=-84, -115 исключает категории, то
Попробуйте поэкспериментировать на основании этого.
Спасибо! Код работает 🙂