WordPress 7.0: real-time collaboration and the beta rush

I have sat through a lot of releases called major over 14 years, and the WordPress 7.0 updates in the latest Dev Chat agenda are a different sort. New blocks are the easy part. Changing how the database copes with two people editing the same post at once, which is what Real-Time Collaboration means, is not. In the meantime the road to a stable release is getting crowded with betas.

The beta rush and the silent release

Beta 3 landed, then a silent Beta 4 went out alongside 6.9.3. A silent release usually means a last minute patch that could not wait for the formal cycle, which is why developers tend to look twice at one. Beta 5 is due this Thursday, March 12. If you keep a staging site, break it now, before the release candidates start arriving.

The weight of this release sits in Phase 3 of the Gutenberg roadmap, and it is not a UI story. Real-Time Collaboration needs proper handling of race conditions, which a PHP-heavy stack has rarely had to deal with. My earlier notes on the WordPress 7.0 Interactivity API cover the other half of it, where state management gets considerably more involved.

Filters for the Breadcrumb block

The most immediately useful change in 7.0 is a set of dedicated filters for the Breadcrumb block. Until now, changing breadcrumb markup or logic meant a template override or filtering the output in JS after the fact. The new filters run server side, so custom logic goes straight into the render loop.

<?php
/**
 * Example: Customizing the Breadcrumb Block in WP 7.0
 * Using the new bbioon_ prefix for safety.
 */
add_filter( 'render_block_core/breadcrumb', function( $block_content, $block ) {
    // Specifically check for our custom attribute
    if ( isset( $block['attrs']['bbioonCustomStyle'] ) ) {
        $block_content = str_replace( 'wp-block-breadcrumb', 'wp-block-breadcrumb is-custom', $block_content );
    }
    return $block_content;
}, 10, 2 );
?>

I walked through the implementation in my guide on customizing breadcrumb block filters. It is a small change, and a real one if you care about the HTML your theme puts out.

Pseudo-elements in theme.json

theme.json now takes pseudo-elements, ::before and ::after, directly. That means fewer !important declarations scattered through a stylesheet purely to beat block level defaults. The config file lines up with the CSS spec more closely, and the editor gets closer to something you can genuinely design in.

If WordPress 7.0 work is eating your dev hours, I take it on as client work. I have been doing WordPress since the 4.x days.

What to test now

WordPress 7.0 is ambitious. Between the Interactivity API refinements and the DataViews experiment, this is the biggest architectural shift since the REST API merge. Do not wait for the general release to find out a custom plugin fights with the RTC engine. Read the official Interactivity API docs and start testing your state hooks now.

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.