Thoughts on Theme Options

One of the most difficult decisions I face when building a new theme is which customization options to include.

It’s an incredibly difficult feature to balance. Customization options can make it possible for a single theme to be used for a greater variety of websites (which is good from a sales perspective), but it can also make a theme more complex to set up and customize.

Many of the best-selling commercial WordPress themes are ones that allow non-developers a huge amount of customization choices. Avada, Canvas, Divi, Make, Total and X Theme all have hundreds of settings. The big website platforms like Squarespace and Wix also provide a huge amount of design control.

Options Are Both Popular and Complex

I understand why customization is important. One of the main purposes of a website is to express a brand or identity. Customization of fonts and colors can be hugely important. When I helped my wife set up her first WordPress site years ago, I installed Canvas by WooThemes because I knew she’d want something that could be altered to fit her specific design aesthetic (and I didn’t have time at the time to customize it for her).

But even with a thousand options, there’s no way that everything can be customized. And adding many options has a downside: it increases the complexity of the user interface and code.

Let’s examine Luminate, the latest DevPress theme, as an example. I included two very simple options for “Highlight Color” and “Highlight Hover”, which allows customization of the link color and buttons.

luminate-colors

If someone feels comfortable editing CSS, changing these colors takes about a minute and involves 4 lines of code in the stylesheet. A customization option, however, takes about 150 lines of PHP code for the controls and input sanitization, 40 lines of PHP code for inline style output, and 30 lines of javascript to update the CSS in realtime through the customizer interface. Now imagine a theme with hundreds of color customization options instead of just two!

So which way does a developer go? If a site owner can edit CSS, then that’s an argument against the extra code required for customization options, which adds complexity and bloat to the codebase. If the site owner can’t edit CSS, however, those customization options become an essential feature of the theme and may be the reason why someone chooses it.

DevPress Philosophy

This last month I’ve been thinking a lot about the direction of DevPress. What are the features customers look for in a WordPress theme? How does DevPress differentiate in a crowded market? How can I develop products that people love and that I also enjoy building?

Options alone don’t determine if a theme will be successful, of course. For every popular theme stuffed with custom options, dozens of other themes have failed under the weight of support and maintenance. On the flip side, there are successful theme shops that offer lean, well-coded themes, and they survive in the marketplace quite well. It’s simply a matter of finding a customer base that likes the product and is big enough to support it.

Can We Have Cake and Eat it Too?

I recognize that design customization is important, and I’m wondering: can DevPress can have it both ways? Can we have themes that are simple, lean and fast — but with an unlimited set of customization options?

I believe the answer is yes, but it’s not the “customization options” route you may be thinking.

A few weeks ago my wife switched from Canvas to a new theme. She liked the layout and how the menus worked, but she still wanted to customize a few items for which the theme didn’t offer options. Instead of ditching that theme for one with more options, we installed the JetPack plugin and enabled the CSS module. I showed her how to use the Chrome Developer tools to find the styles, and how to write basic CSS. Thirty minutes later, she had customized a number of elements on the page and was hugely pleased.

Customizing a theme this way involves more of a learning curve and isn’t for everyone. However, I hope there is a large enough audience that it does work for. There will continue to be a minimal set of options for items like backgrounds, logos, layouts, but anything beyond that will require a bit of CSS tweaking.

To help DevPress customers make customizations, I’m going to start providing examples in the docs page for how to change fonts and other common aspects of the theme if those options aren’t included in the theme already. I’ll also start write code snippets to copy and paste, with explanations for how they work. I’m hoping this will broaden the market for DevPress themes, while still keeping the codebase lean and simple.

I’ve also started to offer customization services on DevPress for those don’t feel entirely comfortable tweaking or editing code.

I’ve personally always enjoyed writing about themes, building themes, and teaching people how to make themes. So it seems natural to do more of that here. Hopefully we can achieve the ideal, really simple themes and unlimited possibilities.

Photo Credits: Black and White Computer Photo courtesy of NASA.

2 Responses

  1. Searching for the best weed delivery service near you! Look no further! Weed market420 Delivery is one of the most trusted, professional and top-quality weed delivery services in California. Weedmarket420 Express delivers legal, dependable, quality medicinal and recreational cannabis that caters to your desires at a competitive price with FAST and friendly service. See this page.
    https://weedmarket420.us/

Leave a Reply to Harish Cancel reply