Filter your WordPress RSS Feed

I was working on a project last week and needed to use the categories in WordPress to seperate content, but also needed to provide an RSS Feed of only one of the 2 categories. So I did a quick Google – because I figured someone else has probably done this before – and sure enough I found this :

function nameOfFunction($query) {
if ($query->is_feed) {
$query->set('cat','-1');
}
return $query;
}
add_filter('pre_get_posts','nameOfFunction');


<!–
document.write('’);
//–>

Note : the -1 is the category id, I didnt try it but I suppose you could change the category parameters where it says cat to something like category_name and still get the same result.

You could also just change the is_feed to some of the other conditional tags that WordPress has for a different effect.

Thanks to Lucas for suggesting I share this!

4 responses

  1. Hi. I was using this little trick in my blog, but after an update to 2.9.2 it just doesn’t work anymore, giving me a blank feed.
    See this: http://wordpress.org/support/topic/391998?replies=1

    What can it be, do you have any idea?
    Thanks!

  2. I had this working until last week and then … poof.

    1. (The update to 3.1 seems to be what killed it.)

  3. Interesting, will check this out and let you guys know how to still achieve this!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.