n-wp.ru — блог о WordPress

Как исключить посты определенных категорий из RSS

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

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

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

48 — это ID категории, посты из которой нужно исключить. Если нужно скрыть посты из нескольких категорий, то их можно перечислить через знак &:

Однако если вы ретранслируете RSS в FeedBurner, то из-за употребления амперсантов могут возникнуть ошибки. Чтобы избежать их, можно перечислять ID категорий без этих символов:

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

Второй способ более универсальный.

2 комментария