You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This overview issue collects an actionable list of impactful tasks that capture possible enhancements to the various Block APIs that exist to power the WordPress block editor.
Block API is intentionally a vague term reflected in the list of action items grouped into categories like block registration, block attributes, block interactions, block modification, etc. What’s in common is that the tasks included aim to resolve the most common friction points or increase the potential of the APIs offered for WordPress block, plugin, and theme authors. In effect, it makes it possible to fulfill the needs of developers wanting to adopt the block editor in their projects.
Register multiple blocks from several block.json files. At the moment developers have to register every block separately. It could help to update register_block_type or add new register_block_types on the server to support auto-discovery of multiple blocks through block.json in a given target folder.
Explore how to connect an individual block attribute with a given UI control and the save flow. In effect, have a simple way to allow editing block attributes without manually writing all code for block controls and inspector controls (Blocks: Attritibutes should auto generate form #48245).
Add handling for block type name aliases used with block variations (Blocks: Add support for block name aliases for variations #43743). They should fall back if necessary to the original block type name, e.g. woocommerce/product-list that can get resolved to the product-list variation added to the core/query block.
Introducing more robust permission handling across the various capabilities (block registration, locking, etc) so administrators can define what blocks are available for different user roles (or even what capabilities of individual blocks are to be exposed). See more in Phase 3: Collaboration, Block Library.
Find a way to cover multiblock plugins where you have all of them installed but they wouldn’t get activated until you insert them for the first time. It’s mostly a UX challenge because you could show them in the inserter like blocks from the Block Directory, but they could get higher priority.
Better UX to prevent nesting some blocks into self that crashes the editor (the same Reusable Block, Template Part, Post Content, etc).
Blocks with different versions like Log In/Out block, or different state like Navigation blocks. Explore how to build UI that allows full page control over global states like the user session, or viewport. Feed that information into the block context so users can edit and preview blocks in different contexts (Blocks: States #57719, see also related discussion How should we handle different layers/states for the same block in the editor? #38108).
This overview issue collects an actionable list of impactful tasks that capture possible enhancements to the various Block APIs that exist to power the WordPress block editor.
Block API is intentionally a vague term reflected in the list of action items grouped into categories like block registration, block attributes, block interactions, block modification, etc. What’s in common is that the tasks included aim to resolve the most common friction points or increase the potential of the APIs offered for WordPress block, plugin, and theme authors. In effect, it makes it possible to fulfill the needs of developers wanting to adopt the block editor in their projects.
🛠️ = in development
🤚 = needs to be unblocked
❗Top Things
High-impact projects in active development:
📖 Backlog
Planned tasks that are being actively researched, waiting for developers to pick them up or on hold until they get unblocked.
Block Registration
useBlockProps,InnerBlocks) that run different code depending on the context: edit, save, or frontend (Blocks: Add block environment and directives support (editvssave) #48590).<a />.block.jsonfiles. At the moment developers have to register every block separately. It could help to updateregister_block_typeor add newregister_block_typeson the server to support auto-discovery of multiple blocks throughblock.jsonin a given target folder.block.jsonfor translations used with JavaScript (Trac #54797).ancestorandparentto support allow/deny lists based on the editor, post-type, and template type context (Block registration: offer option to register a block only in a specific editor #46900, Allow/deny block use based on post-type or template context #41062, related discussion starts also in Post Comments Loop: Unable to put comment blocks inside rows or columns #37181 (comment)).WP_Block_Typeproperties (Validate each arg before setting WP_Block_Type properties #48039).reusabletofalsewhen a block has aparentdefined #35223Block Assets
Block assets are JavaScript (
editorScript,script,viewScript) and CSS (editorStyle,style) defined inblock.jsonfile.block.jsonas explained in Trac #54018 and to fix Blocks without asset.php file cannot be registered #40447. Tracked in Blocks: Allow customizations for assets inblock.json#46954.script/viewScriptto an already registered block #48382).__experimentalStyleinblock.json) as part of the global styles mechanism (Iterate on absorbing block styles as part of the global styles mechanism #45198).Block Attributes
mediarelated roles to block attributes #65186Block Supports
parent,ancestor, andsupports.multiplewhen using drag & drop, or copy & paste (Restrict copy/paste of a block in the editor whensupports.multiple = falseandsupports.removal = false#53471, Setting 'parent' restriction in block API (block metadata) does not prevent the block from being transformed (wrapped) by group and column blocks. #66645).allowedBlocksfield and control for users #53989Block Variations
woocommerce/product-listthat can get resolved to theproduct-listvariation added to thecore/queryblock.ancestorandparentsettings for the block variation (Blocks: Add support for theancestorandparentsettings for the block variation #48424).wp.blocks.registerBlockVariation(Block Variations: Add PHP version ofwp.blocks.registerBlockVariation#47170).Block Hooks
Content Modelling
Various
get_posts$filter parameter to allow a blocks as a return shape (Trac#53602)Developer Experience
roleattribute property #65614spacing.blockGapexplanation is inadequate for custom blocks #43921@wordpress/create-block#39915