Start typing to search...

Searching for "{{search_term}}"

Search results for "{{search_term}}"

Oops! Nothing found based on your query.

 
{{auth_form.errors}}

No account found with this email address. Fill out this form to create an account.

 

Add Custom Post Types to Main WordPress RSS Feed

Posted on February 25, 2014 by Mohit Aneja in WordPress.

Add Custom Post Types to Main WordPress RSS Feed

Custom post types is a great a feature introduced in WordPress 3.0 and it extended the functionality and practical usage of this awesome CMS. While re-designing / re-structuring CSSJockey.com, I have used Custom Post Types for different sections on this website.

Now I want to add all these custom post types to main WordPress feed so the users get updated content from each section via RSS. There are two ways we can do that. You can add the below code snippets to the functions.php file of your theme.

1. Add all Custom Post Types to Main WordPress RSS Feed

The code below will add all registered custom post types to main WordPress RSS feed.

function extend_feed($qv) {
	if (isset($qv['feed']))
		$qv['post_type'] = get_post_types();
	return $qv;
}
add_filter('request', 'extend_feed');

Function get_post_types() will return all registered custom post types. Here you can learn more about get_post_types() function.

2. Add selected Custom Post Types to Main WordPress RSS Feed

I’ve used woocommerce plugin for the shop section of this website and this plugin added a few more custom post types which may be not relevant or useful for my readers. So with the code snippet below, we can add a few selected Custom Post Types to main WordPress RSS Feed.

function extend_feed($qv) {
	if (isset($qv['feed']) && !isset($qv['post_type']))
		$qv['post_type'] = array('post', 'tutorials', 'tips', 'snippets', 'shop');
	return $qv;
}
add_filter('request', 'extend_feed');

If you notice, here instead of using get_post_types() function, I supplied an array of specific custom post types slugs. This will add content to WordPress main RSS feed only from the specified post types.