What WordPress 7.0 changed about core block design supports

WordPress 7.0 is out, and most of the coverage is about the AI Client and real-time collaboration. I went straight to the updated WordPress 7.0 design supports roster instead. If you have ever spent four hours working out why one core block refuses a border-radius from your theme.json, that roster is the part you care about.

New blocks, and a change in how bindings work

The block inserter gets two additions worth noting: a native Accordion, which ships with Heading, Item and Panel sub-blocks, and an Icon block. The change that will actually reach your code, though, is how WordPress 7.0 handles Block Bindings and Pattern Overrides. Both now go through dynamic filters.

<?php
/**
 * Opting into Block Bindings for a custom block in WP 7.0
 */
function bbioon_register_custom_block_bindings( $supported_attributes ) {
    // Specifically enabling the 'content' attribute for our custom block
    $supported_attributes['bbioon/custom-cta-block'] = array( 'content', 'linkUrl' );
    
    return $supported_attributes;
}
add_filter( 'block_bindings_supported_attributes', 'bbioon_register_custom_block_bindings' );

Until now the list of blocks supporting these features was hardcoded: Paragraph, Heading, Button, a few others. That list is gone. Support is resolved dynamically, so opting a block attribute into Pattern Overrides means going through the block_bindings_supported_attributes filter. Good for extensibility. Less good if you were relying on a table of checkmarks somewhere, because that table can no longer tell you what a given site supports.

What to do about it

Any assumption you have hardcoded about what core blocks can and cannot do is now suspect. Between the Accordion and the move to filtered attributes for bindings, the editor is more programmatic than it used to be, which mostly means you have to ask it instead of looking things up. Go through your theme.json, test your filters against the block_bindings_supported_attributes hook, and check your Verse block styles before they hit production, because that is the one that will bite you.

author avatar
Ahmad Wael
I'm a WordPress and WooCommerce developer with 15+ years of experience building custom e-commerce solutions and plugins. I specialize in PHP development, following WordPress coding standards to deliver clean, maintainable code. Currently, I'm exploring AI and e-commerce by building multi-agent systems and SaaS products that integrate technologies like Google Gemini API with WordPress platforms, approaching every project with a commitment to performance, security, and exceptional user experience.