Since the release of ElegantBlue in October of 2007, I’ve seen quite a few free and premium themes using the “theme options” code I included in that theme. But with the widespread adoption of “theme options” has come a tidal wave of complicated and unmanageable themes.
Theme Options are great! They let you give editing power to your users without making them modify code. For the vast majority of bloggers, the code that runs their blog (or theme) is completely unintelligible, and therefore, themes that include options on the backend for doing things like integrating feedburner, inserting contact information, choosing a color scheme, etc., are in high demand.
But in order to cater to another equally important audience, I’ve been reconsidering my position on theme options.
Many bloggers, including myself, are extremely comfortable with things like XHTML and CSS. We don’t mind cracking open a theme and changing a few things here and there. But many of those same bloggers look on in dismay when the theme files are riddled with PHP code (other than basic, and highly understandable, WordPress functions). And for good reason! PHP can be intimidating for the average Web Designer.
In places where they were used to seeing <a href=”http://feeds.feedburner.com/nathanricenet”>Read my feed</a>, they instead are greeted with an onslaught of PHP conditional statements, checking for variables stored in the database in the form of, you guessed it, Theme Options.
And thus, you have just alienated a potential customer or user, because in your attempt to make things easier on the average user, you’ve ignored the guy who actually knows how to do a thing or two.
Theme Options should first and foremost be used in moderation. Theme Option pages that are 3-4 screens long scream “If you don’t edit me via the theme options, there’s a good chance you won’t be able to edit me at all”.
Here are some tips:
1. Use Theme Options sparingly
Keep them to a minimum. Not everything about the theme needs to be edited via the backend options panel.
2. Comment, Comment, Comment!
PHP allows you to comment without the code showing up in the markup. Use this to your advantage to communicate with theme modders. Give detailed instructions so they don’t become overwhelmed at code that could just as well be gibberish.
Also, feel free to give instructions, or better yet commented code, that helps them achieve the plain text code they were seeking. They’ll love you for it.
3. Give an options to download the theme, option free!
It’s really not that hard to just strip the options out of the theme and let users download the pure and simple WordPress theme they wanted.
It’s not that I’m against theme options. Like I said, I was one of the few theme authors that used them at the time. But I am just a little disappointed in the monster that has been spawned. But I think that if theme authors would follow these 3 simple steps, it will make the theme options beast a little more manageable.