How to get a feed for post type ‘page’?

I’m trying to get a feed for pages and a separate feed for posts. The feed for posts works perfect as it is.

I just want a separate one but i have tried all the plugins and searched for about a week straight and still could not find a solution

Is it possible to take feed-rss2.php and duplicate it to change the code to include pages instead of posts and call it by ?feed=my_custom_feed?

EDIT BELOW:

http://jsfiddle.net/oscarj24/qWdqc/

This is the script that I am using get the <link> tag from the item RSS. I want the pages to have an RSS feed unless anyone knows a different way of doing it without RSS. But the script above rotates the page every 30 seconds.

1 Answer
1

Feeds for post types are called with feed/?post_type=POSTTYPE. For no obvious reasons this doesn’t work for the post type page – you get the posts instead.

But there is a filter to fix that: 'pre_get_posts'. Let’s use it:

add_action( 'pre_get_posts', 't5_pages_in_feed' );

/**
 * Set post type to 'page' if it was requested.
 *
 * @param  object $query
 * @return void
 */
function t5_pages_in_feed( &$query )
{
    if ( isset ( $_GET['post_type'] ) && $_GET['post_type'] === 'page' && is_feed() )
    {
        $query->set( 'post_type', 'page' );
    }
}

Now you get the page feed at /feed/?post_type=page.

Here is a plugin for that: T5 Page Feed

Leave a Comment