I’ve been working on a design for my girlfriend’s blog recently.
Heather wanted a blog to document her year studying abroad, so I set her up with a WP install on what’s — even if I do say so myself — an excellent domain, http://heather.in/ (and this is made all-the-more better by the permalink setup, so posts are published as heather.in/england/with-a-cold, for example).
I figured the quickest and easiest way to get the site off the ground was to use a premium theme. Heather was after a simple, personal-feeling theme so it made sense as a time-saver.

And so I set about finding The One®.
My first problem came when I wanted to draw up a shortlist to send to Heather for her to look over. Despite all of the “theme galleries” begging for your traffic in order to show you pages and pages of affiliate links, none of these seemed to have themes actually organised into any logical order.
I was thus left to browse through the theme libraries of a handful of vendors I figured would make good options, drawing up my shortlist from that. Not ideal, but no particular cause for complaint. From the shortlist, we were able to narrow the options down to two or three options which would’ve worked well.

As all the themes on the final shortlist were licensed under the GPL, in the end we went for a mix-and-match approach, taking bits of two themes and bolting them on to the other, which we used as a “base”.
The site ended up turning out really nicely, but the moment I stopped using the options panel and tried to do some coding for myself, the problems started.
I’m not going to name names here as it’d be unfair to judge a theme vendor which has many, many themes on the basis of one of those themes, but I was appalled at how badly made the theme I used as the base was. It was genuinely absolutely atrocious.
The fundamental problem was that the theme was built around the options page. The secondary — and in practice vastly more annoying problem — was the theme accounted for the options by adding a bunch of CSS IDs and classes to pretty much everything, which meant the bulk of the CSS was spent burying down into very specific selectors just to align the sidebar left or right.
This meant that when I came along and wanted to do some quick customisation to the sidebar by, say, moving it from left to right, instead of writing:
#sidebar{ float:right; }
I had to write something like:
.two-column.standard-width #sidebar-align #sidebar{ float:right; }
The problem with that? Instead of having a “default” layout where #sidebar was floated left, the “default” was floating the sidebar left by adding a load of classes which were powered by the options page.

I ended up just stripping out most the options-powered functionality in favour of something simple which just worked. After I’d done that it only took me a couple of hours to fiddle around with the look, set up email subscriptions and make the design responsive.
And this brings me around to something I mentioned on Twitter a couple of weeks ago. WordPress themes need to be using scalable and modular CSS so that when customers come around to customising themes, it’s super-simple.
People think PHP code is scary, but CSS is just about manageable. You can go a long way customising a theme just using CSS, too — when I’m answering questions in the WPZOOM support forum, a hell of a lot of the tickets can be answered with a couple of lines of CSS.
So take this as a public service announcement and a warning, if you will. To theme makers: please, please ditch the thousand-option options pages and implement what you do have using CSS that makes sense. I don’t want to have to jump through ID and class hoops to make some very simple changes.
And to theme buyers: just have a read through that stylesheet before you buy next time. You’ll likely thank yourself later on.
It’s not ranting, it’s constructive criticism. Let’s talk it out folks.
Hi, Finding the right theme for a blog is really a tough job. I faced many issues when i started my blog and now finally settled with Genesis Framework and made some CSS Modifications. Thanks for Sharing this Great Post!
Thanks for a great post. I had the exact same experience, with the exact same vendor – nightmarish CSS, lots of !important, many different stylesheets that get loaded *after* the child-theme CSS, and many references to the options-panel, even though they don’t seem to be required at all.
Real shame, as it’s a prominent vendor, and clients do love their themes and prices…
I have invariably found that the more theme options there are, the harder the theme is to modify via CSS. So for clients who really like the theme out of the box, or only want to make the kinds of changes that are possible via the options panel, themes like that are fine, but if a client wants something more customized, I pick a different sort of framework to work from. There was a presentation at WordCamp SF this year on “How Not to Design a Default Theme” and one of the items covered was theme options panels with billions of settings. I can only hope the trend for overloaded options panels will pass.
[…] Lots of posts on WPShout are art directed, so you may wish to view this in your browser –> My Premium Theme Experience […]
I’ve had similar experiences recently at work. A client came to us with a premium theme wanting a few modifications…
Not only was the parent stylesheet littered with overly specific and !important declerations, it’s also use a responsive grid system where the grid classes where in the templates files, but they didn’t quote match what we wanted, so had to change almost every single on of those.
The other thing that really surprised me, was how inflexible some of it was… Want to feature some content on the homepage? Sure, but only if you want 3 columns that follows a very specific structure – Surely just throwing a widget area in there would be more flexible and save on a page in the theme options.
The total time spent modifying it (via a child theme, obviously), was probably close to what it would have been to build that site from scratch.
Do “premium” theme designers not realise that developers are a potentially huge market for them, and making it as flexible and extensive under the hood would be a huge selling point (yes, I know you’ll never please both parties 100%, but I think there’s a compromise to be had).
I do hope that this article gets the attention it deserves – I only dip in and out of WordPress and CSS so to a certain extent I blamed myself but man, I counted the number of occurrences of !important in the main stylesheet of two premium theme vendors at the weekend: 32 and 26 respectively!
I agree as most of the themed sites we do for clients with limited budgets need to be edited on some way or another to make them do as the client wishes. Sometimes it’s even difficult to find the correct stylesheet file to edit!
I love your use of Lobster. I typically use it for huge headings, but looks awesome here.
a lot of themes these days are built on responsive grid frameworks such as skeleton. do your concerns applied to such themes? not sure where you were looking for themes but having looked at a lot of wp theme developers over the past few years, i stick to a few authors on themeforest almost exclusively.
I have given a try to both the premium themes that you have in screenshot.
Biggest problem with Theme Market is that most of the users like to buy themes with that *shiny* options panel. That’s the first thing they would ask for.
In my opinion options page are real time killers. Most of the options stuff can be easily done using some widgets and theme customizer.