Where is WordPress heading? To have or not have theme options…

silenced-croud-mediumWordPress’ Theme Review Team seems to always be involved in a lot of decision making. That’s good, decisions have to be made and a direction needs to be set and maintained.

We had scuffles with WordPress before (like the Tempera 1.2.1-6 updates) mostly due to unclear rules, rules applied subjectively, a lack of rules, unknown rules, changing rules or a combination of all these simultaneously. WordPress is an open source, contributive project and as a result there are a lot of people involved in it, with diverging views and opinions. But we moved on, we changed things, had rules cleared up or even had new rules written down.

However lately the decisions seem to be taken hastily, without analysing all effects (and maybe consequences) they have. One of these decisions directly affects themes – meaning it affects us the most.

The decision

In the latest Theme Review Theme weekly meeting a decision was taken to start to recommend, and eventually (in 6 months time) to impose the use of the Customizer API in all themes and for all theme options.

What does this mean for you? It means themes will no longer be allowed to have separate theme option pages (like our nicely arranged Theme Settings page) but instead must switch to using the Customizer for all their options.

Right now this rule is mandatory for all new theme submissions, while existing themes get 6 months to switch or new updates will no longer be accepted in the repository.
EDIT: To keep things clear, themes already in the repository will not be removed (they will remain installable and usable with the included options page after the deadline) but the developers will not be able to submit new updates to the repository with the included options page functionality.

What is the Customizer? For those who don’t know, it’s that narrow little thing displayed on the left side of the screen when you go to Appearance > Customize.

Okay, the Customizer is a good thing. It tries to unify the multitude of different variants of presenting theme options into a single interface. It tries to help the users get the most and best out of their sites (and themes) by making things clearer, better arranged and with a uniform appearance.

The effects

But it is way too young yet and limited to impose it on everyone. It barely handles a couple of theme option types (as listed in the Codex): text input, colour selector, file upload, image.

Our themes already additionally use (and thus require) the long established sliders, drop down selectors, check boxes and advanced (image thumbnail-based) selectors (like the ones we use for Layout and Image Border settings). EDIT: Some of these option types have been added to the Customizer API (as documented here).

The customizer is built to be expandable, but forcing it now when it doesn’t already have all the required field types will only mean developers will have to each write their own custom variant of new handlers, possibly ruining consistency, clarity and even security in the process.

The results

Forcing us to move to the Customizer means we have to rewrite the handling for all these options – 270 separate options (counted in Nirvana; the other themes are very similar) making up about a third of our theme code for the new API.

Not to mention the limited space the Customizer provides. Imagine cramming up all options visible in the left image into the narrow grey sidebar visible in the right image. And that’s just one of the theme’s settings section…

wordpress-nirvana wordpress-customizer

We would need to give up on and drop all option types that are not currently supported (or write up custom handling code for theme – something which may not be viewed with good eyes by the theme review team). This is a lose-lose case both for us and themes users.
All this rewriting would take a lot of time and effort (stolen from new options and new themes) and put it into something that isn’t yet mature enough or well laid out to be used for more than a screen-full of theme options…

The Customizer is a good idea. It should be promoted and recommended. But forcing it on everyone at this point is a poor decision.

The choice

If the new Customizer rule remains enforced, we’ll have a choice to make… and it can only be one of the following:

  • waste a lot of time and effort to try to move (and adapt) as many options as possible into the Customizer but lose the rest / plenty of them
  • waste some time and effort and move most used options into the Customizer but lose most of them
  • remove all theme options
  • provide the options via a plugin that is not available in the repository and requires a two-step manual installation
  • stop submitting themes to the free repository (and provide manual updates instead)

 

We’d rather it’s neither of the above and we get to keep on providing theme options for everyone to customize our themes to the best of their abilities and desires.

We are not giving up on our themes, they are our beloved creations after all. We will try to fight this decision and we can use your help – if you have a WordPress.org/.com account, you can leave a comment in the official forum. Or write a post on your blog or site, spread the word.

And if all fails we’ll do our best to find alternative solutions to keeping the options page included.


 

Let us know what you think about this in the poll below (or use the comments if the poll is not enough).

[poll id=”29″]


The original forum is located here:

https://make.wordpress.org/themes/2015/04/21/this-weeks-meeting-important-information-regarding-theme-options/

If you have a WordPress.com/.org account you can have your say in this subject too. Bigger names* have changed their decisions based on user feedback before….

Additional discussions on the subject: