Yesterday, WordPress released a core plugin named Classic Widgets. Core contributors Tonya Mork and Andrew Ozz created the plugin under the WordPress Contributors account. It allows end-users to disable the upcoming block-based widgets system. Support is expected through 2022 or as long as necessary according to the plugin description.
Decided last month by a small group of core leads following a demo, WordPress 5.8 will ship several sub-components from its Full Site Editing project. FSE encompasses several self-contained parts that grant users broader control over the design and layout of their sites. One of those pieces is an overhaul of the widgets system.
Widgets will one day become a legacy feature of the platform. However, they are not disappearing any time soon. During the transition from the pre-block era of WordPress to the eventual incorporation of all the sub-components of FSE, users and theme developers will sometimes need smaller stepping stones. Block-based widgets give users more ways to work with blocks outside of the post content area without diving head-first into an entire block-based experience.
This is the first time many in the larger WordPress user community will be exposed to blocks in a new context. The editor that launched in WordPress 5.0 focused solely on the post content. The widgets system in 5.8 turns classic sidebars into block containers.
In short, users will be able to stick any block in any sidebar.
This is a welcome step in transitioning users in the long run, especially those who use classic themes, which is still the majority of all users. However, there are cases where the Classic Widgets plugin will be necessary. The biggest will be:
- Broken themes or quirky output.
- Users simply preferring the old system.
Whatever the case may be, the plugin handles the switch.
For those wondering why the core development team is not making sure block-based widgets work with all themes, it is because the two systems are not exactly alike. Plus, every theme design handles its sidebar output in its own way. There is no way to ensure 100% coverage.
Many themes will have no issues at all. Some sidebars, depending on the design, could entirely break down. More likely than broken, custom sidebar and widget designs could simply look “off” on the front end.
For example, compare a Heading block followed by the Archives block (first image) against the classic Archives widget (second image) when using the Twenty Fifteen theme:
The typography of the Heading is different, and there is too much space below it. That is not an end-of-the-world scenario. It is the sort of quirk that may be common with many themes, at least until theme authors have had time to push out updates.
What Happens When Activating the Plugin?
Classic Widgets has no settings screen or anything to configure. It is a set-it-and-forget-it plugin. Its goal is to simply return users to the traditional widgets system in which they are familiar.
If you start using the new block-based widgets system, you will lose all of your widget blocks upon activating the plugin. There is no going back, so be sure this is what you want. The former blocks will not reappear if you change your mind and deactivate Classic Widgets.
However, if you add traditional widgets to your theme’s sidebars while the plugin is active, you will not lose them. They will still appear on both the front and back end if you deactivate the plugin.
This reminds me of the issues I had with Widgets in my new theme (last year). Some of the built-in widgets didn’t act correctly (fonts, spacing, missing headings/titles) as blocks and my own-rolled ones didn’t always behave as expected. In the end I converted them all to shortcodes and used the Shortcode Block to insert them.
My next worry will be whenever someone decides that shortcodes are passé…