Customizing Feeds

Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

Customizing Feeds

If terms like feedsyndication, and RSS make your head spin, stop right now and read an Introduction to Syndication. That will give you a good overview of feeds and syndication. We have an article on WordPress Feeds to help you understand the basics, if you need them, but from here on, this article assumes that you know the basics of what feeds are and how they are used.

Customized feeds give your readers more information about you and your blog: you can include the names of additional collaborators on your blog posts, or a link to your Friend-of-a-Friend file. Contrariwise, it can also help you restrict the information available for syndication, by removing extraneous data or providing a machine-readable version of your copyright statement.

Contents

  • 1 How WordPress Produces Feeds
  • 2 Customizing Your Feeds
    • 2.1 Customizing Feed Templates
    • 2.2 Third-Party Software
  • 3 Checking Your New Feed
  • 4 More Information and Resources

How WordPress Produces Feeds

WordPress uses a set of feed templates to display your site's feeds, in much the same way as it uses theme templates to display your content. These feed templates are located in the wp-includes WordPress directory. These core files are not directly compatible with the Theme system, however it is possible to use custom page templates to achieve a theme-based solution (see further information and links below) or change which templates are used.

The following feed templates are included with WordPress:

feed-rss2.php 

Displays your entries in RSS 2.0 format.

feed-rss.php 

Displays your entries in RSS 0.92 format.

feed-rdf.php 

Displays your entries in RDF/RSS 1.0 format

feed-atom.php 

Displays your entries in Atom format.

feed-atom-comments.php 

Displays comments - either the most recent comments on all posts, or the comments on a specific post - in Atom format.

feed-rss2-comments.php 

Displays comments - either the most recent comments on all posts, or the comments on a specific post - in RSS 2.0 format.

feed-rss2-comments.php 

Displays comments - either the most recent comments on all posts, or the comments on a specific post - in RSS 2.0 format.

Customizing Your Feeds

There are a variety of ways to customize your feeds, through the use of third-party software you install and add-on to your WordPress site, or by manually changing the feed templates to meet your needs.

Customizing Feed Templates

Editing your feed templates is much the same as editing your theme templates. However, feed templates are not integrated into the WordPress theme system; if you would like different versions of your feeds, you'll need to create extra feed templates.

The Feed templates are located in the /wp-includes/feed-{type}.php files and include formats for rdfrssrss2 and atom. They are triggered by feed rewrite rules using a series of actions defined in wp-includes/functions.php and attached using add_action in wp-includes/default-filters.php.

In order to override with your own templates it will be required to clear the default actions then take appropriate steps to call load_template.

An example of using a template for the default RSS2 feed located in the template directory for a custom post type:

/**
 * Deal with the custom RSS templates.
 */
function my_custom_rss() {

	if ( 'photos' === get_query_var( 'post_type' ) ) {
		get_template_part( 'feed', 'photos' );
	} else {
		get_template_part( 'feed', 'rss2' );
	}
}
remove_all_actions( 'do_feed_rss2' );
add_action( 'do_feed_rss2', 'my_custom_rss', 10, 1 );

Many specialized template tags exist specifically to format your content in a way that complies with the RSS standards. They include:

  • the_category_rss
  • comment_author_rss
  • comment_text_rss
  • permalink_comments_rss
  • comment_link_rss
  • bloginfo_rss / get_bloginfo_rss
  • the_title_rss
  • permalink_single_rss
  • the_content_rss (This function was deprecated--2.9.0.)
  • the_content_feed
  • the_excerpt_rss

Third-Party Software

Some third-party web services can help you manage and customize your feeds. Using such services can be a simple way to do things like counting the number of people who read your feed, or combining your blog's feed with your Flickr photostream.

Such services include:

  • FeedBurner - see Using FeedBurner
  • RSS Mix - merge multiple RSS feeds into a single stream

Checking Your New Feed

To see your new feed, you can use any of the many feed readers available on the Internet. While your feed might look good to you in the different readers, it might still have problems.

Feed formats are designed to be read and manipulated by machines; errors in your feed template can make your feed unreadable to some or all feedreaders. So after you make all your changes, it's a good idea to check that your feed meets the relevant standards. Validation services include:

  • Feedvalidator.org - for Atom and RSS feeds.
  • Experimental RSS 1.0 Validator
  • Redlands RSS 1.0 Validator
  • Feeds.archives.org

More Information and Resources

  • Add Subscription Links to RSS Feeds
  • Add a logo to your Atom or RSS feed (Not WordPress specific)
  • Adding a logo to your WordPress RSS Feed
  • Tutorial on Writing RSS 1.0
  • Extending RSS 2.0 with Namespaces
  • How to Move Your WordPress Feeds to a Sub-domain
  • Custom WordPress feeds via theme custom page template
  • Custom WordPress feeds via theme template