{"id":137,"date":"2011-12-12T09:49:41","date_gmt":"2011-12-12T09:49:41","guid":{"rendered":"http:\/\/christopher.murtagh.name\/?p=137"},"modified":"2011-12-12T09:49:41","modified_gmt":"2011-12-12T09:49:41","slug":"simplerssembed-my-first-plugin","status":"publish","type":"post","link":"https:\/\/philoxopher.com\/2011\/12\/12\/simplerssembed-my-first-plugin\/","title":{"rendered":"SimpleRSSEmbed – my first WordPress plugin"},"content":{"rendered":"
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’\u2122. 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.<\/p> \n
So, if anyone is interested in this very simple plugin, here it is<\/a>. Of course, it’s GPL<\/a>. 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.<\/p>\n\n You can get the current version from here: simplerssembed.zip<\/a><\/p>\n 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: <\/p>\n \nMake 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’:<\/p>\n\n Then go to the plugins tool in your WP dashboard, and activate the plugin.<\/p>\n Once the plugin is activated, you can embed RSS feeds with the following shortcode: <\/p>\n\n The currently defined parameters are as follows: <\/p>\n\n The default values for the above parameters are: <\/p>\n\n This is output from the actual code above: <\/p>\n\n\n Making great software, great product that stands the test of time and not just survives but thrives through monumental technological shifts is incredibly hard. That challenge is part of the reason I love doing it. There is never a dull day, and the reward of seeing the code you wrote used by the most amazing [\u2026]<\/p> Posted on 11 January 2025<\/p><\/div> The modern web has gradually shifted from a vibrant tapestry of personal expression to a landscape of identical designs, where millions of websites share not just similar structures, but identical visual language, spacing, and interaction patterns. As we collectively gravitate toward the same \u201cproven\u201d layouts and \u201cconversion-optimized\u201d designs, we\u2019re not just losing visual diversity \u2013 [...]<\/p> Posted on 2 January 2025<\/p><\/div> In order to give myself and the many tired volunteers around WordPress.org a break for the holidays, we\u2019re going to be pausing a few of the free services currently offered: We\u2019re going to leave things like localization and the forums open because these don\u2019t require much moderation. As you may have heard, I\u2019m legally compelled [\u2026]<\/p> Posted on 20 December 2024<\/p><\/div>Documentation<\/h2>\n
Download<\/h2>\n
Installation<\/h3>\n
\n
[root@ simplerssembed]# chown apache: cache\n[root@ simplerssembed]# chmod 755 cache\n<\/code>\n\n
Using the plugin<\/h3>\n
[simplerssembed rssfeed='http:\/\/wordpress.org\/news\/feed\/' \n rssitems='5' rsscssclass=\"rssfeeditem\" \n rssdateformat=\"j F Y\" rsslinktarget=\"_new\"]\n<\/code>\n\n
Parameters<\/h3>\n
rssfeed -> URI of the RSS feed\nrssitems -> The number of items to display\nrssmaxdescription -> The maximum number of summary characters to display\nrsscssclass -> The class name to give the containing <div> (per item)\nrsslinktarget -> The target attribute for the link to the post\nrsscacheduration -> The duration (in seconds) of the cache\nrssdateformat -> The data format (see PHP's date function)\n<\/code>\n\n
Default values<\/h3>\n
rssfeed => 'http:\/\/wordpress.org\/news\/feed\/'\nrssitems => '5'\nrssmaxdescription => '400'\nrsscssclass => 'rssitem'\nrsslinktarget => '_self'\nrsscacheduration => '3600'\nrssdateformat => 'j F Y | g:i a'\n<\/code>\n\n
Example output:<\/h2>\n
Joost\/Karim Fork<\/a><\/h3>
WordPress Themes Need More Weird: A Call for Creative Digital Homes<\/a><\/h3>
Holiday Break<\/a><\/h3>