-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Description
Note
This is an integral part of the block API #41236
Pattern block tracking issue - #50159
We've so far treated patterns as a block instantiation feature but not a permanent object. This was a useful lens with which to introduce patterns and enabled many workflows (like copy and paste from the directory) without adding further edges to the block API. With time, we also introduced a utility block called wp:pattern
to allow block theme authors to reference individually registered patterns dynamically, which has also helped with translations.
There are a series of upcoming features around #39281 we want to unlock that now require us to look more seriously into making this block fully powered:
- Being able to designate a container that can cycle patterns within — just like template parts but without the extra overhead they entail. Shuffle content blocks when
templateLock
iscontentOnly
#44581 - Introducing patterns where the content is configurable on a per-instance case but the design and layout is shared and can be globally updated across instances. This requires developing the
contentOnly
property further to establish a set of attributes (role == content
) that the pattern is then injected with dynamically. - Helping the zoomed.out view properly focus on patterns rather than top level blocks.
- Possibly unifying concepts with reusable blocks where everything is a "pattern" just with different sync properties.
- Attach
theme.json
child objects to define a new set of style properties that only apply to the pattern contained within.
All of these features can be better conceptualized with the help of such a block.
Task list:
- Pattern Overrides epic (WordPress 6.5) #53705
- Surface related patterns in the template inspector #44582
- Connecting patterns with specific contexts & transforms #27575
- Zoom out view when the "Patterns" in the Inserter is selected #44585
- Building with Patterns #38529
- Patterns: Explore shuffling content blocks #55582
Metadata
Metadata
Assignees
Labels
Type
Projects
Status