There has always been some confusion and overlap between reusable blocks and patterns. The difference was that reusable blocks can be created and edited in the block editor and then reused in other places – inserted into posts or pages. Block patterns, once inserted, can be edited and are not synced. They give users the ability to apply the same layout to different posts and pages.
Reusable blocks have now been renamed to patterns, with the option to be synced, which offers the same functionality as the former reusable blocks where all instances can be updated at once. Non-synced patterns are just regular patterns – those that can be edited independently of other other instances that have been inserted. These updates are coming in Gutenberg 16.1 and will be included in the upcoming WordPress 6.3 release.
WordPress contributor Aki Hamano posted a diagram to Twitter regarding the renaming, which was confirmed as an accurate representation of the changes.
“Clients already find the pattern and reusable block concept very difficult to grasp,” WordPress developer Mark Howells-Mead commented on the pull request for the renaming. “This change will make things much harder for regular users to comprehend.”
Gutenberg contributor Paal Joachim Romdahl commented that it would be helpful to have more time to test this in a few versions of the Gutenberg plugin, as WordPress 6.3 beta 1 is expected this week. Learning materials and documentation will need to be updated with very little notice.
Gutenberg contributor Daniel Richards encouraged contributors to see the change as part of “the great unification,” an effort towards consolidating the many different block types into a single concept and streamlining the content and site editors.
“In the future it might also be possible for template parts to be considered ‘synced patterns’, and at that point things become much more streamlined and there are far fewer concepts for users to grasp,” Gutenberg contributor Daniel Richards said.
“So the hope is that this is a first step on the path to making things easier for users, rather than more difficult. But I do realize that for existing users it’s quite a shift.”
As part of this effort, WordPress 6.3 will also introduce pattern creation in the block editor using the same interface that it previously used for reusable blocks. Pattern creation necessitates having a place for users to view and manage their patterns. WordPress 6.3 will also include a first pass at a Pattern Library inside the Site Editor, which will include both patterns and template parts. Gutenberg designers shared a preview of what this would look like a couple weeks ago:
The Potential of Partially Synced Patterns
In May, contributors began a discussion about the concept of partially synced patterns, which Daniel Richards summarized:
Today, when you insert a pattern, the blocks from that pattern are completely decoupled and standalone. There’s no way to tell that those blocks originated from a pattern, especially since they can be edited to no longer resemble the source pattern.
Partially synced mode is different. When a pattern that’s partially synced is inserted, it retains a reference to the source pattern. The blocks within the pattern are locked so that they cannot be removed or reordered and new blocks cannot be inserted (this is called contentOnly
locking). Only specific parts of the pattern considered ‘content’ can be edited (denoted by adding __experimentalRole: 'content'
to a block’s definition).
When the source pattern is updated, all instances of blocks that reference the source pattern are updated too (much like a reusable block), but the content
values the user entered are retained. The best way to think of this is that the user can update the design of a pattern, but doesn’t lose content that exists in templates and posts.
This concept will not make it into the upcoming version of WordPress, as contributors are still discussing one of many complex implementations, but it offers a glimpse of what might be more granular control coming to patterns in the future. Partially synced patterns would bring distinct benefits to many CMS and content design use cases where clients may be editing content.
“I am a site developer for an agency, and am actively making sites for clients using Gutenberg every day,” Eric Michel said. “Probably our biggest pain point right now is that the editor does not handle types of content that are mostly standardized with small content customizations per post – things like contact directories, majors at a university, products in a catalog.
“For us, the absolute dream scenario is what you are proposing, except with the inclusion of the ability to alter the primary template and have all of the pages that use that template automatically change as well.”
The discussion on making partially synced patterns possible continues in search of an implementation that will ensure users don’t modify the patterns in ways that destroy the ability to display the retained content. WordPress 6.3 will ship with synced and non-synced pattern options, and partially synced patterns may land further down the road in a future release.