One of the questions I’m often asking users of my themes is what plugins should be supported within the themes. I ask this question a lot because there are new plugins being made daily, some getting implemented into the WordPress core, and others that don’t get updated.
This is the fourth post in the If you were a WordPress theme developer series, a group of articles where the user gets to decide how a WordPress theme should function. I’ll link to previous articles at the end of the post.
What are plugins?
Plugins are packages of code that extend the functionality of your blog in some way. Just about everybody that runs a WordPress-powered site uses at least a few plugins.
Some plugins are simply activated and work. Others might need to be added to your theme in some way; these are the plugins that we want to discuss.
You can read more about plugins on the WordPress Codex or choose from thousands at the plugin directory.
What plugins should be supported in themes?
First, I want to tell you what I don’t mean by this question. I don’t mean adding the full plugin code to a theme. I don’t mean just testing a bunch of plugins for compatibility with themes.
My question is directly related to plugins that need code added to a theme file to work properly. Generally, in the plugin’s readme file, it’ll tell you to add something like this to a particular template:
<?php if(function_exists('cool_plugin')) { cool_plugin(); } ?>
Even something as simple as that might confuse some users. Other users might simply want a theme that supports particular plugins because it’s tiresome adding plugin support every time they change their theme.
What we’d like to do, as theme developers, is already have that code in place for the theme user. That way, the user would only have to activate the plugin and never touch a line of code.
What plugins would you add support for if you were developing a theme?
In my opinion, you can never include THAT very plugin, a certain user wants to have. Lets say, you could include 5 popular plugins, but the user that doesn’t want to touch code certainly wants to have another one included, because there are just sooo many plugins available. So I would vote for better documented plugins (even for more advanced users
)!
While better documentation of plugins would be great, it still makes a theme so much better if some of the popular plugins are supported. Plus, not all themes are built the same way, so some plugins simply can’t be documented any better than they are.
In my experience, the plugins that end up becoming popular are fairly well documented anyway. I imagine that this is partially because of the documentation.
As theme developers, we can’t control how well plugin developers document their plugins. By building in support, it makes life so much easier when you’re not telling people how to make those plugins work with your theme on your support forums.
Okay, since there are loads of plugins over there and many of them do the same work in my personal view, the average WP user would not need more 5 – 10 plugins, excluding the default Akismet and Hello Dolly. Depending on each person’s needs these plugins may vary.
I’d like to include my theme some of those plugins which I see would be the most used and most popular across Made in WordPress websites. I’d choose those plugins by each of popularity, usage or functionality or all.
Here are my top list plugins those I can remember:
1. WP PageNavi
2. WP Post Ratings
3. Get the Image WP Plugin
4. Popularity Contest
5. FlickRSS
6. Simple Recent Comments
The above is not listed by any order, and for sure, there are lots of good plugins but I use these for several projects and they are awesome.
As I mentioned above, most needed plugins should be added into the theme code. However, I cannot see the necessity to support more than a maximum of 10 plugins or this will force the server to load more than expected by checking every
if(function_exists('plugin_function')){ .... }Justin,
Depending on your theme design, one of the plugins I like is the “Featured Content Gallery”.
http://twurl.nl/zs6suw
Now most of the time it takes some “tweaking” to get it how you like but if you setup the basic dimensions I think it would be an awesome addition.
The other plugin I would consider is “Tabber”. Again, this is only going to be relevant if it fits with your design but would be nice it were were easy for people.
http://twurl.nl/ixe03t
After all this discussion about the perfect theme, I’m certainly looking forward to seeing your next creation
Take care.
J Mehmett
Thanks for the recommendations. I’ve already had a few of those in mind.
I think my favorite would have to be WP PageNavi. Of course, all of Lester Chan’s plugins are great.
Stu McLaren
I say skip the Featured Content Gallery and install Smooth Gallery right in the theme, same with Tabber (if you can write your own JS). The reason for this is because you can control exactly when the JavaScript is loaded so it’s not loaded on every page.
As you said, both of these plugins would be theme specific though. Mostly, I’m looking to add plugins that would fit with just about any theme.
I’d like to see theme support for WP-Print, although the work-around for this is create a print style sheet, which I’ve been meaning to do for the themes of yours I’m using. However, to have the plugin built in would be really cool.
suchtreasures
I like the idea of adding a print stylesheet as opposed to supporting the plugin. Stylesheets are something that should be theme-controlled anyway.
A couple of my themes have a print stylesheet built in, but all of them will have one in future updates.
As a plugin author I tend to find the biggest problems come from compatibility issues with other plugins and the new generation of “premium themes” where the authors are in many ways blurring the line between a theme and a plugin, I would rather see themes supporting widgets and then keep their code minimal enough that users can easily modify the template as per the plugin developers instructions.
If we can get back to a theme being a presentational piece, even if this means themes coming with companion plugin, then it will be easier for plugin developers to write generic functions and instructions to allow any plugin to be used within a theme.
Tim
Keeping code within themes minimal is becoming harder and harder if one wants to keep with the theme market (free or paid). This is usually because users are asking for more and more.
If theme developers make use of the appropriate hooks and filters along with
functions.php, it should make things easier and cleaner. Some new theme developers aren’t that advanced though, and things sometimes get messy. Of course, I consider myself a plugin developer trapped within a theme developer’s mind.Using appropriate template tags and WordPress hooks should be paramount though to make sure plugins play nicely with themes.
Thanks for the insight from a plugin developer’s viewpoint, Tim.
I get what you’re saying, and it makes sense. In my opinion the only thing that Wordpress doesn’t inherently offer that could use a good solid place on every page is a breadcrumb.
I really like Breadcrumb NavXT. Seems to do everything the way a good breadcrumb should.
John James Jacoby
I definitely agree that breadcrumbs are sorely needed. I’ve been actually building them into my themes though instead of using a plugin.
It’s definitely something that should be considered.
For anyone that’s interested, the plugin John’s referring to is Breadcrumb NavXT.
I would love to see support for a related entries plugin. I always have difficulty getting Wasabis to work but R. Marshs plugin is divine.
I may be old fashioned but I still like a good breadcrumb navigation at the top. Category lists and tags are nice but a breadcrumb is like street signs and should really be included in all sites so you can easily get back to a category without relying on the browser’s back button.
There are several plugins that build breadcrumbs and they are fairly similar so it would be the designers choice.
Also if you include plugin support in your theme include the actual plugins or at least URLs to find them so that people do not have to hunt for them. Creating a plugin directory and having the code in that directory with installation instructions is probably easiest.
EmmaB
That’s definitely something all theme authors should consider. I typically support two or three of them.
Wayne Luke
I say forget the plugin — build the breadcrumbs right into the theme.