Allows inlcusion of RSS feeds, external html etc from any source in any format, and optionally transforms the feed via XSLT.
First of all, you need to set up a preset in the options page. Each
- Name: a unique name for referencing the feed from your php or posts
- URL: where to fetch the feed from
- Options: optional arguments to affect output
- XSLT parameters: optional parameters to feed to any XSL
The most obvious application of this is to pull in a news feed and
transform it nicely for placing on your site.
You can access the functionality via two methods, either by calling
DGE_InlineRSS method directly, or by using the inline filter
This is the simplest method, and can be called from anywhere in a post or page without editing any PHP.
!inlineRSS: followed by a preset name. So for example if you’d set one up for the latest BBC news with a name of ‘bbcnews’, you’d write this anywhere in your post:
Still keeping it simple, you can call the
directly from your theme templates, just
echoing the result:
However, it can get quite complicated if you want to. You can call it
from plugin code, supplying all the details without ever actually
setting up a preset.
$xml = DGE_InlineRSS('davesplugin', $url, // InlineRSS options in the first array array('timeout'=>0, 'xslt'=>'davesplugin.xsl'), // Your own options for the XSLT parameters array('limit'=>10));<h3>Options</h3>
- The time in minutes to cache the results for
- An xsl file to use for translating the feed
- Pass in the xml you want translated, bypassing the url.
html (on it’s own)
- Tells the xslt processor to treat the input as html, rather than xml.
This is a fork, and subsequent development, of the Cal Demaine’s
(v1.1). Cal put a lot of work into his plugin, and I’m very grateful
for those foundations. However, I’ve decided to fork from v1.1 to meet
my own needs. So far, I added some handy features and bug fixes. Cal,
if you’re listening/watching, feel free to incorporate any of this
into your plugin.
Details of the initial changes, plus historical necessity for them are
- Options panel in wordpress admin area
- Config file replaced by ‘presets’ in options page
- Configurable cache dir, cache file prefix, and xslt dir.
- Simplified php call down to an id, url, array of options, array of
- Unix-like path searching for xslt files.
All original inlineRSS features, plus:
- Allows passing of parameters into XSL template.
- PHP 5 fixes.
- DGE_SlideShow uses
this plugin to fetch photo streams from Zooomr or Flickr.
Copyright (C) 2005 Cal Demaine (original work)
Copyright (C) 2006 Dave Elcock (further developments)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
The GNU General Public License is available here:
- Download the plugin and unzip it into to your wp-content/plugins folder.
- Set up the cache directory (see below)
- Go to your wordpress admin page, and activate the plugin.
- Configure options in the options page from wordpress admin (Options
The plugin requires a cache directory somewhere below the wordpress
installation folder, with world read/write acces (mode 777). Point the
plugin at it via the options page within WP admin panel, using a
relative path from the wordpress folder. So, for example, my options
page has a ‘Cache path’ setting of ‘wp-content/cache’. You might
consider giving this a random name for security purposes, like
‘wp-content/cache-n38Q’. Up to you really.
The XSLT functions used require some form
of PHP XSL extension. PHP 5’s XSL extension is what I’ve been
exclusively testing with. According to the PHP manual, PHP 5 includes
the XSL extension by default. Some old and probably broken PHP 4
fallbacks are still in this module’s code, but it has remained
untested for over a year. I have no way to test it. I’m considering
just flat-out saying ‘PHP 5 required’.