The WordPress 6.7 release cycle is in full swing, with Beta 2 released earlier this week on October 8. The official release is scheduled for November 12 and will introduce many new features, including the Twenty Twenty-Five theme. For all key dates, check out the release party schedule post.
If you haven’t already, now is the time to start testing WordPress 6.7 and the new default theme. If you encounter any issues, please report them in the appropriate place: the Gutenberg GitHub repository for Editor-related issues, the Twenty Twenty-Five repository for theme-specific issues, or WordPress Trac for any other concerns.
This post covers a mix of features finalized for WordPress 6.7 just before Beta 1 on October 1, along with new functionality now available in Gutenberg. Items specifically related to 6.7 will be clearly marked.
As always, be sure to test these changes with the latest version of WordPress trunk and the Gutenberg plugin, currently version 19.4. These monthly roundups are designed to keep you informed and help you get ready for everything new coming to WordPress.
Table of Contents
Highlights
Block Bindings API
The Block Bindings API user interface (UI) is officially out of the experimental phase and will be included in WordPress 6.7. Initially, the UI will be limited to post meta, but ongoing work in Gutenberg will explore extending this functionality to other sources. Check out the video below for a demonstration of this new UI.
By default, only Administrators will have permission to create and modify bindings, adding an extra layer of control. This restriction is managed by the new canUpdateBlockBindings
Editor setting, which you can adjust for additional user roles using the block_editor_settings_all
filter as needed.
Additionally, several Block Binding APIs were stabilized and made available for developers in Gutenberg 19.4, and they will also be included in WordPress 6.7. A detailed developer note will be published closer to the 6.7 release, but in the meantime, you can refer to the pull request for a full overview of the new registration APIs and utilities.
For more information on upcoming changes to the Block Bindings API in WordPress 6.7, check out the tracking issue.
Zoom Out Mode
The new Zoom Out Mode is no longer experimental and will be included in WordPress 6.7. With the click of a button, it provides a zoomed-out view of the Editor canvas, making it easier to compose page layouts with patterns. Follow the 6.7 iteration issue for more details, or try it out for yourself with the new Twenty Twenty-Five theme in Playground.
Ongoing development in Gutenberg will expand on what’s included in 6.7. Eventually, this mode will be closely integrated with content-only editing and the new Write mode, highlighted below.
New Write and Design modes
In Gutenberg 19.4, the two editing modes in the Editor have been renamed from Select and Edit to Write and Design. The new Design mode works exactly as before, allowing users to add any block, modify styles and settings, add patterns, and more.
The new Write mode, however, offers a simplified editing experience tailored for newer users or those who prefer a more streamlined interface with less complexity. In this mode, blocks are restricted to content-only editing.
Write mode is still under active development and will continue to evolve in future Gutenberg releases. If you build or maintain custom blocks, now is a great time to explore content-only editing (covered in more detail below) and ensure your blocks are compatible.
Preview dropdown extensibility
In WordPress 6.7, the Preview dropdown is now extensible, allowing developers to add custom menu items that enhance preview functionality. Imagine a plugin that enables a dark mode preview—the possibilities are endless.
Implementing this is straightforward with the new PreviewDropdownMenuItem
component, which can be added using registerPlugin()
. This component supports a title, icon, and click handler, allowing you the flexibility to create tailored preview options. For more details and a code example, check out the documentation.
WordPress Playground
There’s a lot to be excited about in the world of WordPress Playground. First, the website received a massive overhaul and now allows you to run multiple playgrounds at once using the Playground Manager. You also save each instance to persistent storage, either in the browser or to a local directory on your device. Check out the Make post for all the details.
Next, the Playground team has been hard at work on new features, including refreshless website deployments, new query parameters for testing WordPress Core and Gutenberg PRs, and some substantial improvements to the way you can load resources into Playground using blueprints.
And finally, contributors have added three new guides to the developer documentation in the last month:
- Providing content for your demo with WordPress Playground
- WordPress Playground for Theme Developers
- WordPress Playground for Plugin Developers
Plugins and tools
Template registration API changes
Last month’s recap highlighted a new API that developers can use to register block templates from plugins using the functions wp_register_block_template()
and wp_unregister_block_template()
. Since then, contributors have decided to remove the wp_
prefix, changing the functions to register_block_template()
and unregister_block_template()
.
This change will be implemented in WordPress 6.7. If you have already started using these functions with the Gutenberg plugin, you’ll need to update them once Gutenberg 19.5 is released (10/23) or when you upgrade to WordPress 6.7 in November.
View meta boxes in the iframed Post Editor
In previous WordPress versions, metaboxes prevented the Editor canvas from being iframed. An iframed canvas offers many benefits, particularly in that styles can more easily be contained. As a result, several explorations have been made on how to support iframing alongside metaboxes, which are common in many popular WordPress plugins.
With WordPress 6.7, a new split view introduces a resizable drawer for metaboxes, while the Editor canvas is now iframed. Keyboard controls were also added to make resizing the drawer easier.
If you develop or use plugins that include metaboxes, make sure to test this enhancement thoroughly. Depending on how metaboxes are implemented, the iframed canvas may impact custom functionality.
Content-only editing
In WordPress 6.7, the role
property in block.json
, used to define whether an attribute is editable in content-only editing mode, has been stabilized. Previously marked as unstable, this update makes it easier for custom block developers to implement content-only editing.
In the coming weeks, a post on the Developer Blog will cover how to support content-only editing in custom blocks.
Additional improvements to content-only editing in the last few weeks include:
- Blocks with content-only locking can no longer be transformed.
- Support for block styles on top-level content-only blocks was added.
- The ability to crop images in content-only mode was removed.
Content-only editing will be a major focus in future Gutenberg releases. For the latest updates and roadmap details, follow the Advancing Content-Only Editing tracking issue. Also, share your feedback if you have specific needs around controlling this mode based on user roles and capabilities.
Interactivity API
The Interactivity API saw some nice updates that will be included in WordPress 6.7. The functions getServerState()
and getServerContext()
from the @wordpress/interactivity
package are now exposed and available for developers to use.
Similar to getState()
and getContext()
, these functions return the initial server-side state or context instead of the client-side state or context. They are also required to subscribe to changes in state and context when the HTML is updated using navigate()
.
Typography block support stabilization delayed
Although originally planned for WordPress 6.7, the stabilization of typography block supports has been shifted to the 6.8 release cycle. Custom block developers using the experimental typography supports should monitor this work closely. It will be important to test your blocks early to ensure there are no backward compatibility issues. Stabilizing typography supports will also pave the way for finalizing other experimental block supports like __experimentalDefaultControls
.
Client-side Media Processing experiment
An experiment introduced in Gutenberg 19.2 enables media processing on the client side instead of the server, reducing server load and enhancing performance. You can view the full tracking issue for details.
In Gutenberg 19.3, a new Media section was added to the Editor Preferences modal, allowing you to customize settings for the media upload flow. This feature remains experimental and must be enabled through the Gutenberg > Experiments page. Testing is encouraged.
Data Views and DataForm API enhancements
The DataForm
API was introduced in Gutenberg 18.8 as part of a larger effort to reduce duplicated form code in Data Views. Work has continued over the last few releases, and Gutenberg 19.4 now adds support for the combinedFields
layout, enabling multiple fields to be rendered in the same row.
In Data Views, more broadly, users can now reorder controls at the field level, and bulk actions have been moved to the footer for a more streamlined editing experience.
PreSavePost and SavePost filters stabilized
The stabilization of the PreSavePost
and SavePost
filters was completed just in time for WordPress 6.7. Originally introduced in an experimental form in Gutenberg 19.0, these filters allow plugin developers to enforce validation requirements before a post is saved. If validation fails, returning false
prevents the post from being saved.
A detailed dev note on this functionality will be released later this month, but you can review the implementation in the original pull request and the updates made during stabilization.
Navigator component stabilized
As part of a broader effort to stabilize Editor components, the Navigator component—used to render nested views, panels, and menus with navigation between them—has been stabilized. For more details, see the pull request or explore the WordPress Storybook for examples of the component in action.
Fields package introduced
The @wordpress/fields package offers a collection of data field components tailored to WordPress user interfaces and requirements. Currently used alongside Data Views, this package includes components such as a Featured Image selector and a post slug editor. Although initially intended to be private, the package was later made public. While it has specific and limited use cases, it is now available for plugin developers to use.
Block enhancements
WordPress 6.7 includes several minor block enhancements aimed at improving the editing experience:
- You can now drop multiple image files onto the Image block, which will automatically convert them into a Gallery block.
- The Image block now has manual controls for uploading images directly within the block.
- The Categories List block now features a dropdown for selecting a taxonomy.
- The Clear media button for the Cover Block has been moved from the Inspector to the Block Toolbar for easier access.
- It’s now simpler to add additional icons to the Social Icons block.
- Any block can now be transformed into the Details block.
- You can now filter by post formats in the Query Loop block.
Create Block package updated
The @wordpress/create-block
package, the official tool for scaffolding WordPress plugins that register custom blocks, was recently updated. All generated plugins now require a minimum of WordPress 6.6 and PHP 7.2.
Other notable updates
Here are a few additional updates to note:
- Users with the
edit_posts
capability can now read Global Styles from the REST API and in the Editor. - The
ComboboxControl
component now supports aplaceholder
attribute. - The
DropdownMenuV2
component now includes aGroupLabel
, making it easier to organize menu content. This component is still experimental. - The ability to shuffle block patterns has been removed from the block toolbar and is now only available in Zoom Out Mode.
- The Modern Image Formats plugin, managed by the WordPress Performance Team, now supports converting uploaded PNG files to AVIF or WebP formats.
Themes
Create Block Theme
Version 2.5 of the Create Block Theme plugin was recently released with several quality-of-life improvements:
- Font assets now have human-readable names when a theme is saved or exported.
- The erroneous
hidden
category was removed from patterns. - A
main
tag wrapper was added to the Query Loop in the mainindex.html
template to better support the upcoming Zoom Out Mode. - Font assets are now copied to the local theme folder when creating style variations.
One additional enhancement was added that’s worth keeping an eye on. Synced patterns can now be saved to the theme. This is the first step to exploring pattern management within the Create Block Theme plugin, something the community has been looking forward to for some time.
Fluid typography preset overrides
Before WordPress 6.7, specific font-size presets could opt out of fluid typography if it was globally enabled in theme.json
. Now, with 6.7, theme developers can also do the reverse: if fluid typography is globally disabled, specific presets can opt in by setting the fluid
property to true
or by defining an object with min and max values. You can find code examples in the original pull request.
Be sure to check out the Core Editor Improvement: New features and flows for Font Management post on the Make blog, which includes detailed information and a video walkthrough of the recent updates.
Disable starter patterns
Certain themes, like Twenty Twenty-Four, include patterns that appear in a modal whenever you create a new page. These patterns are designed to help newer users quickly build page layouts. However, the “Choose a pattern” modal can be distracting for experienced users who prefer starting with a blank page.
In WordPress 6.7, users will be able to disable this feature by toggling off “Show starter patterns” in the Editor Preferences modal.
More design tools and block previews
Contributors have built on last month’s work by adding border support to the Comment Edit Link and Comment Reply Link blocks. Additionally, various Comment blocks (such as author name, date, content, and pagination) and Query blocks (including no results, pagination, and title) now display previews when you hover over them in the Inserter.
Work is underway to enhance the Style Book’s presentation and design. Together with the new block previews, this improvement will help users visualize each block and any applied theme styles more easily before inserting them.
Color palette changes
In the Site Editor, previews of theme and style variation color palettes previously displayed five colors. In WordPress 6.7, this will be reduced to four colors to simplify the interface. This change should have minimal impact on themes but is something to keep in mind when designing color palettes.
Resources
The following resources and updates from other WordPress.org sites are also available and relevant for developers.
WordPress News
- Progress Report: HTML API
- Introducing Plugin Check (PCP)
- Core Editor Improvement: Simplified Query Loop block with smarter defaults & intuitive settings
- Gutenberg development practices and common pitfalls
- Data Views Update #2
Developer Hours and Hallway Hangouts
With a busy few weeks preparing for WordCamp US and WordPress 6.7 Beta 1, there were no Hallway Hangouts in the last period. However, two Developer Hours sessions were held, covering the new Template Registration API and Data Views. You can watch the recordings below:
- Developer Hours: A First Look at the Template Registration API in WordPress 6.7
- Developer Hours: An Introduction to Data Views
Recordings of all past Developer Hours sessions are available on YouTube in a dedicated playlist.
Developer Blog
Be sure to check out the latest tutorials on the Developer Blog if you haven’t done so yet. Stay tuned for more content showcasing the exciting new features coming in WordPress 6.7.
- Actions from Data Views: Adding images to the Media Library
- How to build a multi-block plugin
- Website security checks – WP-CLI for site owners and administrators
You can subscribe to the Developer Blog and get every new post delivered straight to your inbox.
Props to @greenshady and @bph for co-wrangling the resources in this post and reviewing the final draft.
Leave a Reply