Skins are back in fashion, offering themes to group user-selectable design variations – WP Tavern
A current proposal could spell the end of at least one form of childish theme. The feature would allow themes to ship multiple
theme.json files, housing variations on a site’s default styles. Basically, it’s the old-fashioned concept of “skins”.
How the feature works is not yet defined. However, theme authors would presumably be allowed to bundle separate JSON files that create “global style variations” or “active styles” user-selectable through the site editor.
It’s almost like we’ve come full circle. The original implementation of child themes allowed developers to create
style.css files. The goal was to design skins that changed the look of a site without changing its markup. Child themes have become much more flexible since then and can override anything from their parents.
Many themes still rely on this original concept. Their child themes are nothing more than a custom stylesheet with design changes. The ability to group multiple style variations together from a single theme could change their approach to design, perhaps even providing a better user experience.
Kjell Reigstad first introduced this feature last month when announcing the upcoming new default theme. “Twenty Twenty-Two will come with a range of alternative colors so people can dramatically change the look of their site,” he wrote in the post. Here’s a video of what that concept might look like:
The UI for the video appears to be a mockup for the site editor. In the right side panel, users can switch between alternative styles and find something to suit them.
The proposal would allow more than variations in the color palette. Theme authors could adjust typography, layout and any other controllable element via
theme.json – essentially, the whole theme design.
Because the feature is not yet in the Gutenberg plugin or in the development version of WordPress, the only way to explore multiple
theme.json files is through child themes. Yes, child themes are used to test the very concept that might make them, at least partially, obsolete. Reigstad has an open pull request in the Theme Experiments repository to flesh out the idea.
Channing Ritter, an Automattic sponsored WordPress contributor, shared three variations of what the user experience can look like on his blog. My favorite option is the first. This is a rollout panel that displays the “active styles” that users can switch between.
Building an active style selector in the Global Styles interface could deliver that ideal user experience that child themes never achieved. Users first had to understand how they worked, find out if there was one for their active theme, install one, and activate it. As part of this proposal, they could see all the styles available in advance and just select one.
It also gives end users who aren’t so design-savvy some variety without requiring them to hand-pick a whole palette of colors.
For some time now, I’ve envisioned a future where themed shops focus on one, two, or just a handful of main themes. They would then sell access to the media and a library of block models. Now, I envision a future where global style variations could play a role in the commercial market, providing added value in addition to this commodity.
There is also a second ticket that asks for themes to provide alternate color palettes. It would probably be much easier to implement as a separate feature, since it is much smaller. With just a month to release WordPress 5.9 and Twenty Twenty-Two with user-selectable color schemes, this may be the more reasonable of the two routes.
Either way, I keep finding new pet features that I want to see land in WordPress. Yesterday it was block bosses. Today, they are “active styles”, or whatever you call it. Tomorrow, who knows? New ideas around the blocking system keep making me look forward to what’s next.