Gutenberg 22.4: pattern overrides and the font library

For years I had to explain to clients why the shiny new Font Library was off limits on a “Classic” or “Hybrid” theme. There was no good answer, only the architecture. Gutenberg 22.4 takes that conversation away, and it arrives with a few other changes that matter if you write code for a living.

This release merged 402 pull requests. The marketing attention will land on real-time collaboration, but the parts worth reading in Gutenberg 22.4 are the changes to block bindings and responsive visibility. Those two change how you build and maintain client sites, not only how the editor looks.

Pattern overrides open up to custom blocks

Pattern overrides have been useful since WordPress 6.5, holding a design in place while letting the content vary. The catch was the short list of supported blocks: Paragraph, Image and a few others. A custom block with its own attributes got nothing.

In Gutenberg 22.4, any block attribute that supports Block Bindings supports pattern overrides by default. As a block author you opt your attributes in with a server-side filter. That moves Synced Patterns from a sometimes-useful feature to something you can build a custom theme around.

// Example: Enabling Pattern Overrides for a custom block attribute
add_filter( 'block_bindings_supported_attributes', function( $attributes, $block_type ) {
    if ( 'bbioon/custom-cta-block' === $block_type->name ) {
        $attributes[] = 'customButtonText';
    }
    return $attributes;
}, 10, 2 );

Classic themes finally get the font library

If you still maintain legacy sites, and some of the most profitable ones are exactly that, the missing Font Library support in classic themes has been a real annoyance. Gutenberg 22.4 gives classic and hybrid themes access to Global Styles and the Font Library through a dedicated admin section.

This is more than a UI port. The team had to work out how those styles get enqueued without a block theme runtime underneath. It matters for typography management on every site that never made the jump.

Experimental: block visibility by screen size

We have all been faking this for years with CSS classes like .hide-on-mobile. Gutenberg 22.4 adds an experimental way to show or hide a block by viewport from inside the editor, with a viewport modal for the rules and backend support for generating the CSS.

Under the hood it uses the new CSS range syntax for media queries. It is tempting, but the label says experimental, and I have seen enough race conditions in experimental CSS generators to insist on a staging test before a client gets anywhere near it. If you want something steadier for a build already in progress, our guide to cleaner block code is the better starting point.

Other engineering polish

  • Any image can now carry a focal point, so cropping holds up across aspect ratios. That alone fixes most responsive hero sections.
  • The Query Loop block can exclude specific terms without a custom pre_get_posts hook.
  • Real-time collaboration left experimental status, though there is still no default provider, so using it today means wiring up your own signaling server such as Yjs.

If Gutenberg 22.4 is eating your dev hours, I can take it on. I have been wrestling with WordPress since the 4.x days.

Worth updating for

Gutenberg 22.4 spends most of its effort closing the distance between classic themes and Block Bindings, which is another way of saying the line between core WordPress and custom development keeps moving. Update, try the focal point controls, and keep the experimental visibility feature on staging until the implementation has settled.

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.