SimpleRSSEmbed – my first WordPress plugin

Ok, I’ve been doing all sorts of things with WordPress for a while now, but oddly enough, I never actually wrote a plugin (although, in retrospect, I did a lot of template hacks that probably would have been easier to do as plugins). Anyway, I needed a plugin for a blog I was working on that would allow me to display the summary of N number of blog posts from another blog. There seem to be plenty of existing plugins that do this, however most of them are either horrible code (both HTML and PHP), or they don’t work with Atom feeds that don’t have descriptions. I wanted something very simple, with very clean output that would ‘just work’™. So, after trying about a dozen of them, I decided to just write my own (which turned out to be insanely easy). If I would have started down that path at first, I probably would have been done sooner.

So, if anyone is interested in this very simple plugin, here it is. Of course, it’s GPL. I expect I’ll be adding more features to it as I need, but for now this does exactly what I want with very little code to maintain.

Documentation

Download

You can get the current version from here: simplerssembed.zip

Installation

Put the contents of simpleressembed.zip into your wp-contents/plugins directory, and unzip it. This should give you a directory called ‘simpleressembed’ which has 3 things in it:

  • an empty directory called ‘cache’
  • a file called readme.txt
  • a file called simplerssembed.php

Make sure that the cache directory is writeable by your web server, or whatever user that will be executing the php scripts. The safest way (on *nix system) is to do the following (assuming that the process runs as the user ‘apache’:

[root@ simplerssembed]# chown apache: cache [root@ simplerssembed]# chmod 755 cache

Then go to the plugins tool in your WP dashboard, and activate the plugin.

Using the plugin

Once the plugin is activated, you can embed RSS feeds with the following shortcode:

[simplerssembed rssfeed='http://wordpress.org/news/feed/' rssitems='5' rsscssclass="rssfeeditem" rssdateformat="j F Y" rsslinktarget="_new"]

Parameters

The currently defined parameters are as follows:

rssfeed -> URI of the RSS feed rssitems -> The number of items to display rssmaxdescription -> The maximum number of summary characters to display rsscssclass -> The class name to give the containing <div> (per item) rsslinktarget -> The target attribute for the link to the post rsscacheduration -> The duration (in seconds) of the cache rssdateformat -> The data format (see PHP's date function)

Default values

The default values for the above parameters are:

rssfeed => 'http://wordpress.org/news/feed/' rssitems => '5' rssmaxdescription => '400' rsscssclass => 'rssitem' rsslinktarget => '_self' rsscacheduration => '3600' rssdateformat => 'j F Y | g:i a'

Example output:

This is output from the actual code above:

WordPress 6.6.1 Maintenance Release

WordPress 6.6.1 is now available! This minor release features 7 bug fixes in Core and 9 bug fixes for the Block Editor. You can review a summary of the maintenance updates in this release by reading the Release Candidate announcement. WordPress 6.6.1 is a short-cycle release. The next major release will be version 6.7 planned […]

Posted on 23 July 2024

WP Briefing: Episode 84: A WordPress 6.6 Sneak Peek

Join WordPress Executive Director, Josepha Haden Chomphosy, as she offers an exclusive preview of the upcoming WordPress 6.6 release, accompanied by special guest Meher Bala, the release's coordinator. Don’t miss this opportunity for an insider’s look!

Posted on 22 July 2024

WordPress 6.6 “Dorsey”

Say hello to the latest WordPress! WordPress 6.6 "Dorsey" is here to deliver on the promise of a better web with style, finesse, and a suite of enhanced tools to create beautifully coherent design elements and the confidence of automatic rollbacks for your plugin updates.

Posted on 16 July 2024

WordPress 6.6 Release Candidate 3

WordPress 6.6 RC3 is ready for download and testing! This version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, please evaluate RC3 on a test server or a local environment. Reaching this phase of the release cycle is a […]

Posted on 9 July 2024

WP Briefing: Episode 83: Learning Pathways

Discover how Learning Pathways can guide you through your WordPress journey with clarity and purpose. In the latest episode of WordPress Briefing, host Josepha Haden Chomphosy welcomes special guest Wes Theron to discuss the newly introduced Learning Pathways. These curated lesson sets are tailored to various experience levels, roles, and use cases, ensuring a personalized learning experience for [...]

Posted on 8 July 2024

Leave a Reply

Your email address will not be published. Required fields are marked *