Skip to content

Feed Reader

A simple feed reader for WordPress. Supports RSS, Atom, and JSON Feed, and OPML import and export. (Partial) microformats2/h-feed support is on the way!

On top of that, Feed Reader lets you reply to and bookmark others’ blog posts right away.


Upload this plugin’s ZIP file via the Plugins > Add New > “Upload Plugin” button. After activation, head over to Reader > Settings, and configure the plugin as you please.

Some Remarks

Each WordPress editor or administrator can manage (only) their own categories and feeds. I will probably expand that to other roles, e.g., “author” and up. (Only admins can edit the plugin’s settings, however.)

Because everything happens inside WordPress’ admin interface, developers can use hooks such as admin_head to override, e.g., the plugin’s CSS (and more). The possibilities are endless.

The unread counters in the “category and feed” sidebar are not updated in “real time.” While that may change in a future version, I don’t currently consider it a priority.


The use of categories is optional, but: Feeds that do not have a category are not shown in the “category and feed” sidebar, nor are they (at this time, at least) included in OPML exports. Also, when an existing category is deleted, all of its feeds will become “uncategorized.” Here, too, I might eventually address this.

When a feed is deleted, all of its items will be deleted along with it.

Image Proxy

Feed Reader comes with a so-called “image proxy.” If enabled, it’ll try to load images over HTTPS, to avoid “mixed content” warnings.

To avoid abuse, the proxy requires a secret key is set on the Reader > Settings screen. It’s used purely internally; there’s no need need to, e.g., write it down or anything. The “Generate” button can be used to help you (re)generate a new key at all times.

Reply, Like, or Bookmark Feed Items

The “action buttons” setting enables a series of buttons that allow users to immediately create replies, likes, or bookmarks from “Feed Reader’s” single-entry views.

The default status for such posts, however, is “draft.” This can be overridden using the following filter (I’ll make this a “regular” setting, too):

add_filter( 'feed_reader_post_status', function() {
  return 'publish';
} );

Similarly, these posts’ post type can be set using:

add_filter( 'feed_reader_post_type', function() {
  return 'post';
} );

If you happen to have IndieBlocks installed, the plugin will try to determine the “correct” post type (but it can still be overridden using the filter above).