I recently came across an article by Alex King regarding the “right way” to include a plugin into a theme. In it, Alex integrates a plugin called Social, available here, into a theme they sell called FavePersonal. I understand they want to provide a great user experience out of the box, but rather than integrating a plugin, why not just direct their user to install it from WP.org? You could even use conditional statements to limit certain functionality till it’s installed.
I respect his contributions and commitment to WordPress, but I highly disagree with the practice of bundling up plugins with themes. Why? To be as plain as possible about this, it’s just not an encouraging practice for the development ecosystem we are a part of.
Some theme developers today, particularly on marketplaces, tend to go overboard with this practice . Why does a “theme” really need a contact form builder, an event management system, an out of the box e-commerce set up, a custom baked in forum etc…All. At. The. Same. Time.
(To be clear, this is not what Alex is saying or doing.)
There’s about a dozen+ plugins that can do all of the above, and much better, than one developer (or a team) will ever be able too.
Somewhere down the line they lose track of what they were trying to build, to compete with the developer before and after them. Sadly, some buyers know not the wiser and buy into it. It’s a great financial boost for the developer in the short term, but a bad precedent for all developers and designers that are a part of the ecosystem, and coming into it.
I’m not trying to blow Alex’s post out of proportion, as he’s just talking about one plugin here. On the other hand, some theme shops like AppThemes do it right, focusing their themes to do ONE function great (not too hot for the designs though, sorry guys), others try to sell two things at a time; Design + Functionality.
Featured Plugin - WordPress Appointments Plugin
I’ve come up with a list of the Pros and Cons of bundling plugin/s (or more than necessary functions) into a theme, if you would like to add any please do so in the comments.
- Functionality out of the box
- Support for all functionality provided by one source
- Save time, no need to shop around
- Attractive to users/buyers
- User cannot update design without going through expensive re-design process
- Updating plugin/s will be time consuming for users, and developers
- More security issues to deal with
- Heavy file packages
- Bad coding practices could potentially leak in, also a security risk
- User may get conflicts if they try to install other plugins
- Dependency to solve issues rests on one developer/team
Your say: What do you think? Do you agree on including a plugin, or a functionality that can easily be found as a plugin, into a theme? If Yes, where should the line be drawn?