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:
WP Briefing: Episode 57: The Power of WordPress Mentorship
Join WordPress Executive Director Josepha Haden Chomphosy in the 57th episode of the WordPress Briefing as she discusses the Contributor Mentorship Program to help increase the success of new contributors over time.
Posted on 5 June 2023
People of WordPress: Stefano Cassone
The People of WordPress feature series goes to Italy to interview web designer, photographer and translator Stefano Cassone.
Posted on 31 May 2023
Celebrating 20 Years of WordPress
May 27, 2023, marks exactly 20 years since Matt Mullenweg and Mike Little forked b2/cafelog to create WordPress Version 0.70. Quite a bit has taken place in the past 20 years, and imagine how much more we can accomplish together in the next 20!
Posted on 27 May 2023
WP Briefing: Episode 56: What to Know About WordPress Playground
Join guest host Rich Tabor and WordPress Playground innovator Adam Zielinski as they discuss the capabilities and promise of WP Playground in episode 56 of the WordPress Briefing. Stay tuned for your small list of big things coming up in the next two weeks.
Posted on 22 May 2023