Как вы можете исключить категории из ваших RSS-каналов?

Я искал и нашел сообщения, которые задали, и ответил, как объединить разные категории в RSS-канал. Мне нужно знать, как исключить определенные категории из RSS-канала?

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

Solutions Collecting From Web of "Как вы можете исключить категории из ваших RSS-каналов?"

Это было нарушено с 3.1, см .:
http://core.trac.wordpress.org/ticket/16622
а также
http://wordpress.org/support/topic/wp-31-breaks-rss-customization-via-exclude_category ПРИМЕЧАНИЕ. Предлагаемое исправление Отто в этой теме не работает для меня.

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

Не слишком уверенно получить крючки прямо из памяти … Я думаю, что подключение к pre_get_posts и установка category__not_in в то, что вы хотите пропустить is_feed() должно работать.

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

 function wpsites_exclude_category_rss_feed($query) { if ($query->is_feed) { $query->set('cat','-007,-008'); } return $query; } add_filter('pre_get_posts','wpsites_exclude_category_rss_feed'); 

Любой из этих фрагментов в вашем файле функций будет работать с использованием pre_get_posts

 function wpsites_exclude_category_rss_feed($query) { if ( $query->is_feed) { $query-> set('category__not_in',array(007)); } return $query; } add_filter('pre_get_posts','wpsites_exclude_category_rss_feed');