Ellen Bauer, developer and co-owner of ElmaStudio, posed the question on Twitter last week that many have been asking. What do we call these new types of WordPress themes made from blocks? She was not the first to ask. The question also came up via the Post Status Slack chat earlier this week.
The short answer is that these new themes are “block themes.”
The WordPress Themes Team decided to use this terminology in December 2021. The consensus during their meeting was to clarify the difference between block and classic themes.
The terminology has also grown organically as the new theming system has emerged. Block themes are themes that are literally made from blocks. The long-term goal should be to simply call them “themes,” but the “block” prefix will stick with us for a while.
The long answer is more nuanced. As Anne McCarthy noted in the Post Status discussion, there are four types of themes now:
- Block
- Classic
- Hybrid
- Universal
Technically, developers can create an entirely custom theming system. That is just how flexible WordPress is, but we will stick to the somewhat more official definitions. There are enough terms for our own little mini dictionary of theming as it is.
Block Themes
Block themes have been officially supported since WordPress 5.9’s release last month. They provide users access to new tools such as the site editor and global styles interfaces. These features have replaced many past settings pages, such as the customizer and widgets screens.
Twenty Twenty-Two is the first default to support this new set of tools. There is also a small but growing number of other block themes.
Why do we not call them FSE themes? Full Site Editing is a collection of components and not a single thing. WordPress has released several of these components before version 5.9, such as the template editor, block-based widgets, and theme.json
support. In a sense, a classic theme with any level of feature support is also an FSE theme.
The thing that makes block themes different from classic themes is that they are built from HTML templates made entirely of blocks. This automatically enables the site editor, template editor, global styles interface, and more.
Classic and Hybrid Themes
I have grouped classic and hybrid themes together because there is no need to differentiate the two.
Classic WordPress themes are those that we have known and loved all of these years. They feature PHP-based templates in most cases. There are some, like Foxhound, that are primarily made of JavaScript. However, none have the necessary block HTML templates to qualify as a block theme.
Hybrid themes are classic themes that have adopted one or more FSE components, such as the template editor or theme.json
.
I do not separate the two theme types because we have never done so before when themes adopt new features. For example, when the nav menus system was first introduced, there was no need to call themes something different based on whether they supported the new menu system. The same can be said for most other features in the past.
If anything, the official theme directory may need to expand its tags to include additional features as they arise. Filters allow users to search for the things they want from a theme.
Universal Themes
Universal themes work in both a classic and site editor context. Ben Dwyer offered a more thorough explanation via the Theme Shaper blog last year:
Universal themes are an attempt to bridge the gap between the classic themes and block themes, by adding some layers to a block theme to make it work.
A Universal theme is a block theme that can use the Full Site Editor but can also be configured in a more classic way. That means that you can use classic WordPress tools, like the Customizer, Menus and Widgets dashboards as well as the Site Editor.
I have not seen much appetite from developers for creating universal themes. I am not sure if any exist, at least not in the official directory.
It is too early to tell if they will eventually catch on with theme authors. Supporting both classic and modern WordPress tools likely only makes sense for the most popular themes. Their authors may need to rework their codebase, opting into more FSE features and transitioning from a classic/hybrid state to universal support. If the demand is there, some will undoubtedly meet it.
The support and maintenance burden would be unappealing for most. A clean break from classic is probably the best route for developers building with the latest WordPress features.
Naming things is hard, but it is crucial to have equal footing among participants in discussions. The distinction between classic and block themes will likely be the most useful.
I doubt the terms matter much for the average WordPress user. They need to know whether a theme supports Feature X or Feature Y. It has been a while since theme tags (filters) were overhauled, and many are outdated. They might be worth revisiting to ensure that we are meeting user needs today.