Gutenberg Phase 2 to Update Core Widgets to Blocks, Classic Widget in Development

Gutenberg phase 2 development is underway and one of the first orders of business is porting all existing core widgets to blocks. This task is one of the nine projects that Matt Mullenweg outlined for 2019, along with upgrading the widgets-editing areas in wp-admin/widgets.php and adding support for blocks in the Customizer.

Contributors on phase 2 are also developing a Classic Widget, which would function as a sort of “legacy widget block” for third-party widgets that haven’t yet been converted to blocks. There may be many instances where plugin developers have not updated their widgets for Gutenberg and in these cases their plugins would be unusable in the new interface without the option of a Classic Widget. This block is still in the design stage.

The widgets.php admin page will need to be completely reimagined as part of this process. Mark Uraine, a designer who works at Automattic, created some mockups to kick off the discussion about what this screen might look like.

These mockups are just explorations of where widgets may be headed next, and they do not take into account everything that will be required of this screen.

Nick Halsey, one of the maintainers for WordPress’ Customize component recommended abandoning this screen altogether in favor of showing widget block areas in the Customizer:

The widgets admin screen has a fundamental disconnect with the way that widget areas actually work – with different areas showing in different parts of the screen and potentially on different parts of the site. It will be very difficult to clearly reflect the frontend page structure on this screen in a way that users will be able to understand. Experimenting with contextual approaches to this experience in the customizer offers numerous opportunities for this fundamental problem to be solved. Starting with the visible edit shortcuts that are already in core, revamped widgets could be edited directly on the frontend (of the customize preview) or in an overlay that is more directly related to the display on a particular screen. The ability to navigate to different parts of the site within the customize preview solves a problem that this screen will never be able to address.

Getting blocks to work in the Customizer is also part of phase 2, but conversation on the ticket related to wp-admin/widgets.php indicates the team is not going to abandon this screen just yet.

“While this screen will eventually be deprecated in the future, especially as more of the site is built in Gutenberg, it’s a necessary “baby step” to get us all there together,” Uraine said. “Maybe the best thing is to keep the existing layout, but just allow the use of all blocks within the accordion content areas? This will keep our resources and investment minimal on this particular piece with just a few suggested tweaks to the mockup in the initial post. It will also allow us to move to the Customizer more quickly.”

Gutenberg accessibility contributor Andrea Fercia encouraged contributors to address accessibility before creating visual mockups by designing the information architecture first. He encouraged them to organize the required information and controls while thinking about how someone might navigate them in a linear way.

“The customizer is not fully accessible,” Fercia said. “The admin widgets screen is the only place where persons with accessibility needs have a chance to manage widgets without having to face big accessibility barriers.”

Discussion on the future of the widget management screen continues in the ticket and contributors are looking to get more input during this exploration stage. There’s also a project board where anyone can share a blog post with their own explorations.

Porting widgets to blocks has its own project board if you want to follow along or jump in on an issue. Most of the core blocks are already finished and a handful are still in progress.

Updating the widgets management page and bringing blocks into the Customizer is a major overhaul but will further unify WordPress’ interface for editing and previewing content. Widgets have served WordPress well over the years, making it easy for users to customize their websites without having to know how to code. The feature has also survived many evolutions, eventually making its way into the Customizer five years ago in WordPress 3.9. One of the limitations with widgets is that they can only be used in “widgetized” areas. Transforming widgets into blocks removes that limitation and makes it possible to use widgets in posts and pages as well.