
The more I think about it, the more I agree with Joost de Valk’s post from last week discussing themes taking on functionality that is better left to Plugins.
What I’m thinking is that themes are different from Plugins, So different, that it’s changing how I approach themes and Plugins, and how I determine whether they are quality or not.
I want to tread carefully here, because I release neither themes nor Plugins. I’m a developer, but not one who distributes anything to the public.
Changing themes, whether to another custom developed theme or from one commercial theme to another, is usually a pain. Why? In my experience, it’s usually due to the necessary porting over of options, settings, and sometimes content. It takes effort to make sure that the new theme will not only work, but be personalized as well as the last theme was.
It has me wondering how much of the functionality I have built into WPCandy shouldn’t be in a Plugin rather than a theme. My custom taxonomy settings, for instance. I will absolutely want to bring them along with me when I update the theme.
An analogy
My background is more in front-end development than backend development, so forgive the following analogy.
If a website’s HTML is written well, it will turn the page’s content into meaningful, machine-readable stuff. Then we use CSS to turn the machine-readable into the human-readable. Ideally the original HTML should never need to change. Site redesigns should only need to change the CSS, so the HTML can stay somewhat sacred, traveling with the site as it evolves and grows.
This same principle, that of keeping content sacred and separate from the way the site looks and feels, can apply to themes and Plugins.
This same principle, that of keeping content sacred and separate from the way the site looks and feels, can apply to themes and Plugins.
Using this analogy, the database takes the place of the HTML. Rather than creating new fields to hold the same content, time and time again, wouldn’t it be best to have one dedicated spot that any interested themes (or Plugins for that matter) can call upon?
Most commercial theme’s options ask for social network and analytics information, for instance. This is content that’s sacred to the site, and it likely won’t be changing any time soon. What if—if—a Plugin had such popularity that theme developers chose to use its information over its own options. Perhaps a Plugin could exist which would extend the profile options within WordPress itself, something themes and other Plugins could check for before adding and requiring its own version of the same options.
What if, along with design, it became standard that every commercial theme was scrutinized for any additional options it includes that don’t directly effect the appearnace of the site? How would themes do?
The counter argument
I understand that theme developers are, for the most part, working for the lowest common denominator. That is, their themes must be easy for all users to use. The more moving parts (or activated parts, I suppose) the more difficult it is for the average user.
But these same users are the ones most likely to switch themes without playing it safe and copying over their theme options. So really, supporting a Plugin like I’ve described would make it easier for interested users to test out new themes—maybe your theme.
Nice, but how?
All of this will be lost without solid options to move forward with.
I see two that are most likely.
One, WordPress evolves to the point that more of these types of content options are build into the backend.
Two, a kick ass Plugin (or family of Plugins) is created that is so loved and so adored by its users that theme companies are uncontrollably drawn to include them in their themes.
Anyone who has been following WordPress development for more than a week knows that the first option won’t ever happen (and it’s a good thing that it won’t). A Plugin is far more likely.
So what would it take to start up Plugins—small, bite sized, targeted—to begin taking over the options from commercial WordPress themes? Any ideas? Any takers?





