Skip to content

RTC: [Interface] Allow limiting Real-Time Collaboration to specific post types #75072

@smithjw1

Description

@smithjw1

What problem does this address?

It is currently difficult for sites with diverse content architectures to adopt real-time collaboration safely. Real-time collaboration is an all-or-nothing feature, which creates several pain points:

  • Legacy meta box incompatibility – Custom post types that rely on classic meta boxes (e.g., for statistics, structured data, or plugin-specific fields) don't fully participate in real-time sync. We are working on this, but support may never be universal.
  • CPT-specific breakages – In beta testing, some custom post types have admin page implementations that conflict with real-time collaboration, causing errors (including 500s). Site owners have no way to keep real-time collaboration enabled for standard posts while troubleshooting these issues.
  • Gradual rollout needs – Editorial teams want to validate real-time collaboration on their primary content types before expanding to all post types. Currently, there's no supported way to do this.
  • Workflow mismatch – Some post types (e.g., simple landing pages, reusable blocks, or programmatically-generated content) may never benefit from collaborative editing, while others (e.g., long-form articles) benefit greatly.

What is your proposed solution?

Provide a supported mechanism for developers to opt specific post types out of real-time collaboration. RTC would remain enabled by default for all post types, but developers could disable it where needed.

A filter hook would offer the most flexibility:

add_filter( 'gutenberg_rtc_enabled_for_post_type', function( $enabled, $post_type ) {
    // Disable RTC for the 'gallery' post type
    if ( 'gallery' === $post_type ) {
        return false;
    }
    return $enabled;
}, 10, 2 );

Alternatively, a registration-based approach using existing patterns could work:

remove_post_type_support( 'gallery', 'real-time-collaboration' );

Either approach would allow developers to:

  • Opt out CPTs with known incompatibilities until those are resolved.
  • Disable real-time collaboration for post types where collaborative editing doesn't fit the workflow.
  • Maintain a fallback if a specific CPT breaks without disabling real-time collaboration site-wide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Enhancement.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions