Summary: This plugin has some issues that need fixing but I like the overall architecture, if the issues get fixed it might become my slider plugin of choice.
Promotion Slider is a slideshow plugin with a “twist”, other than most of the other slider plugins out there this one let’s you create specific promotions, all with their own URL or linking to another URL. It’s a pretty versatile slider plugin with a lot of potential once the issues below get addressed.
Each slide is basically a custom post within a custom taxonomy. The taxonomy term determines what shows where, so you can create several sliders with this plugin. Each slide can then link to a special “promotion” page (the custom post type it creates) or to any other URL you choose. I had to figure out a few things while working with it but after a while did really appreciate the versatility of it. One of the things I would change functionality is that it has no simple way to change the order of slides, other than by changing the date on posts.
The plugin comes with several options regarding looks of the slider, all shown nicely on the plugins WordPress.org screenshots page.
The plugin uses the default image sizes, where I think it should actually register a custom image size for itself, that’d make it a bit easier, as right now you’ll have to make sure they’re the correct size yourself.
The author offers paid support, but is also very active on the WordPress.org forums for his plugin, so you’re bound to get proper support.
When I activated the promotion slider plugin I encountered the first issue, as I got this message from WordPress:
The plugin generated 173 characters of unexpected output during activation. If you notice “headers already sent” messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.
I can’t really view that as a sign of quality, of course. When reviewing the plugin I also encountered several notices that actually made it hard for me to save posts.
Code Best Practices
The code is pretty well documented, but I can’t really follow the order of things in it. As for best practices, the plugin doesn’t separate admin and frontend code and it doesn’t make styles optional. It has a very nice check for both the required PHP version (5+) and WordPress version (3+), but doesn’t use the requires line in readme.txt:
Requires at least: 3.0
That would make sure it doesn’t show up in the install area for older WordPress installs.
Generic CSS classnames
The CSS included by the plugin is a bit too generic, it uses class names like
right_arrow, those might be used elsewhere already. The plugin uses a class, instead of an ID for it’s slider. Good choice as the slider might appear multiple times on a page. The JS is nicely commented but I think both JS and CSS should also have minified versions available.