{"id":1212,"date":"2026-04-20T15:00:00","date_gmt":"2026-04-20T15:00:00","guid":{"rendered":"https:\/\/computercoursesonline.com\/?p=1212"},"modified":"2026-04-30T21:16:00","modified_gmt":"2026-04-30T21:16:00","slug":"whats-in-wordpress-7-0","status":"publish","type":"post","link":"https:\/\/computercoursesonline.com\/index.php\/2026\/04\/20\/whats-in-wordpress-7-0\/","title":{"rendered":"What\u2019s in WordPress 7.0"},"content":{"rendered":"

WordPress 7.0 brings several major changes for developers, site owners, and content teams.<\/p>\n

This release adds real-time collaboration, extends the Gutenberg editor<\/a>, introduces new AI infrastructure, and changes a few long-standing WordPress conventions.<\/p>\n

Here\u2019s what is coming and what to prepare for.<\/p>\n

1. Real-time collaboration in the block editor<\/h2>\n

The centerpiece of WordPress 7.0 is real-time collaboration (RTC)<\/a><\/strong>.<\/p>\n

Multiple users can edit the same post simultaneously, with changes syncing instantly across all editors. You\u2019ll see cursors, selections, and edits from other users in real time.<\/p>\n

It handles conflict resolution gracefully so when two people edit the same paragraph, changes merge intelligently rather than overwriting each other.<\/p>\n

Is it enabled by default?<\/h3>\n

No.<\/strong><\/p>\n

For security and compatibility reasons, real-time collaboration is opt-in<\/strong> rather than enabled by default. Site administrators must explicitly enable it for their sites.<\/p>\n

    \n
  1. Go to Settings > Writing<\/strong> in your WordPress admin dashboard<\/li>\n
  2. Scroll to the \u201cCollaboration\u201d section<\/li>\n
  3. Check the box labeled \u201cEnable real-time collaboration in the block editor\u201d<\/strong><\/li>\n
  4. Click Save Changes<\/strong><\/li>\n<\/ol>\n
    \n \"WordPress
    \n <\/figure>\n

    For multisite networks, network administrators can control whether real-time collaboration is available to site administrators through network settings.<\/p>\n

    Once enabled, you\u2019ll see collaboration features appear in the block editor. You\u2019ll need at least two user accounts with editing permissions to test the collaborative features properly.<\/p>\n

    \n \"WordPress
    \n <\/figure>\n

    2. PHP-only block registration<\/h2>\n

    WordPress 7.0 removes a major barrier for developers who want to build blocks without a JavaScript-heavy workflow.<\/p>\n

    You can now register blocks using only PHP<\/strong>, without needing React, Node.js, or a build toolchain. This removes a major barrier for traditional PHP WordPress developers who have avoided block development because of the JavaScript complexity.<\/p>\n

    With PHP-only block registration, you write your block in PHP and WordPress automatically generates the inspector controls (the settings panel in the editor sidebar) for you. This is perfect for blocks that don\u2019t need complex client-side interactivity.<\/p>\n

    Here\u2019s a basic example of registering a block with PHP:<\/p>\n

    \r\nadd_action( 'init', function() {\r\n    register_block_type( __DIR__ . '\/build\/my-block', array(\r\n        'api_version' => 3,\r\n        'title'       => __( 'My Custom Block', 'my-plugin' ),\r\n        'description' => __( 'A simple block registered with PHP.', 'my-plugin' ),\r\n        'category'    => 'widgets',\r\n        'icon'        => 'smiley',\r\n        'supports'    => array(\r\n            'html' => false,\r\n        ),\r\n        'attributes'  => array(\r\n            'content' => array(\r\n                'type'    => 'string',\r\n                'default' => '',\r\n            ),\r\n            'alignment' => array(\r\n                'type'    => 'string',\r\n                'default' => 'none',\r\n            ),\r\n        ),\r\n        'render_callback' => function( $attributes, $content, $block ) {\r\n            $classes = array( 'my-custom-block' );\r\n            if ( ! empty( $attributes['alignment'] ) ) {\r\n                $classes[] = 'has-text-align-' . $attributes['alignment'];\r\n            }\r\n            \r\n            return sprintf(\r\n                '<div class=\"%s\">%s<\/div>',\r\n                esc_attr( implode( ' ', $classes ) ),\r\n                wp_kses_post( $attributes['content'] )\r\n            );\r\n        },\r\n    ) );\r\n} );\r\n<\/pre>\n

    For more complex blocks, you can still mix PHP registration with JavaScript for the editor interface. But for simple content blocks, PHP-only registration means faster development, lighter plugins, and no build toolchain headaches.<\/p>\n

    3. Introducing the Connectors API<\/h2>\n

    WordPress 7.0 introduces the Connectors API<\/a><\/strong>.<\/p>\n

    This is a new framework for registering and managing connections to external services, providing standardized API key management, provider discovery, and admin UI for configuring services.<\/p>\n

    The Connectors API works hand-in-hand with the built-in AI Client. It automatically discovers AI providers from the WP AI Client registry and creates connectors with proper metadata. Plugins using the AI Client do not need to handle credentials directly. They describe what they need, and WordPress routes requests to configured providers.<\/p>\n

    Plugins can register custom connectors or override existing ones using the wp_connectors_init<\/code> action hook.<\/p>\n

    Here\u2019s a basic example of registering a custom connector:<\/p>\n

    \r\nadd_action( 'wp_connectors_init', function ( $registry ) {\r\n    $connector = array(\r\n        'name'           => 'My Custom Service',\r\n        'description'    => 'Connect to my custom API service.',\r\n        'type'           => 'custom_provider',\r\n        'authentication' => array(\r\n            'method'          => 'api_key',\r\n            'credentials_url' => 'https:\/\/example.com\/api-keys',\r\n            'setting_name'    => 'connectors_custom_my_service_api_key',\r\n        ),\r\n        'plugin'         => array(\r\n            'file' => 'my-custom-service\/plugin.php',\r\n        ),\r\n    );\r\n    \r\n    $registry->register( 'my_custom_service', $connector );\r\n} );\r\n<\/pre>\n

    The API provides three main functions for developers:<\/p>\n

    \r\n\/\/ Check if a connector is registered\r\nif ( wp_is_connector_registered( 'anthropic' ) ) {\r\n    \/\/ The Anthropic connector is available\r\n}\r\n\r\n\/\/ Get a single connector's data\r\n$connector = wp_get_connector( 'anthropic' );\r\nif ( $connector ) {\r\n    echo $connector['name']; \/\/ 'Anthropic'\r\n}\r\n\r\n\/\/ Get all registered connectors\r\n$connectors = wp_get_connectors();\r\nforeach ( $connectors as $id => $connector ) {\r\n    printf( '%s: %s', $connector['name'], $connector['description'] );\r\n}\r\n<\/pre>\n

    API keys can be provided via environment variables, PHP constants, or database settings.<\/p>\n

    WordPress already ships with an example Connectors implementation, which you can find under Settings > Connectors<\/strong> in the admin.<\/p>\n

    \n \"WordPress
    \n <\/figure>\n

    This API is designed to expand beyond AI providers to support payment gateways, social media integrations, and other external services in future releases. That should make it easier for more plugins to plug into the same connection model.<\/p>\n

    4. Unified AI interface<\/h2>\n

    WordPress 7.0 includes a built-in AI Client that provides a provider-agnostic PHP API for plugins to send prompts to AI models and receive results through a consistent interface. This is the engine that powers AI features across WordPress, working hand-in-hand with the Connectors API.<\/p>\n

    The AI Client handles provider communication, model selection, and response normalization. Your plugin describes what it needs and how it needs it. WordPress handles routing the request to a suitable model from a provider the site owner has configured.<\/p>\n

    Every interaction starts with the wp_ai_client_prompt()<\/code> function:<\/p>\n

    \r\n\/\/ Basic text generation\r\n$text = wp_ai_client_prompt( 'What is the capital of France?' )\r\n    ->using_temperature( 0.8 )\r\n    ->generate_text();\r\n\r\nif ( is_wp_error( $text ) ) {\r\n    \/\/ Handle error\r\n    return;\r\n}\r\n\r\necho wp_kses_post( $text );\r\n<\/pre>\n

    The AI Client supports multiple modalities, for example, image generation:<\/p>\n

    \r\n$image_file = wp_ai_client_prompt( 'A futuristic WordPress logo in neon style' )\r\n    ->generate_image();\r\n\r\nif ( is_wp_error( $image_file ) ) {\r\n    return;\r\n}\r\n\r\necho '<img src=\"' . esc_url( $image_file->getDataUri() ) . '\" alt=\"\">';\r\n\r\n\/\/ JSON-structured responses.\r\n$schema = array(\r\n    'type'  => 'array',\r\n    'items' => array(\r\n        'type'       => 'object',\r\n        'properties' => array(\r\n            'plugin_name' => array( 'type' => 'string' ),\r\n            'category'    => array( 'type' => 'string' ),\r\n        ),\r\n        'required' => array( 'plugin_name', 'category' ),\r\n    ),\r\n);\r\n\r\n$json = wp_ai_client_prompt( 'List 5 popular WordPress plugins with their primary category.' )\r\n    ->as_json_response( $schema )\r\n    ->generate_text();\r\n<\/pre>\n

    Before showing AI-powered UI, check whether the feature can work:<\/p>\n

    \r\n$builder = wp_ai_client_prompt( 'test' )\r\n    ->using_temperature( 0.7 );\r\n\r\nif ( $builder->is_supported_for_text_generation() ) {\r\n    \/\/ Safe to show text generation UI\r\n}\r\n<\/pre>\n

    These checks use deterministic logic to match the builder\u2019s configuration against the capabilities of available models. They don\u2019t make API calls, so they\u2019re fast and cost nothing. If you want a related developer-facing example of how WordPress is exposing structured capabilities, the WordPress Abilities API<\/a> is a useful companion.<\/p>\n

    AI Provider Plugins<\/h3>\n

    Keep in mind that the AI Client architecture consists of two layers<\/strong>:<\/p>\n

      \n
    1. PHP AI Client<\/strong>: A provider-agnostic PHP SDK bundled in Core as an external library. This handles provider communication, model selection, and response normalization.<\/li>\n
    2. WordPress wrapper<\/strong>: Core\u2019s WP_AI_Client_Prompt_Builder<\/code> class wraps the PHP AI Client with WordPress conventions: snake_case methods, WP_Error<\/code> returns, and integration with WordPress HTTP transport, the Abilities API, the Connectors infrastructure, and the WordPress hooks system.<\/li>\n<\/ol>\n

      WordPress Core doesn\u2019t bundle any AI providers directly. Instead, they\u2019re developed and maintained as plugins, which allows for more flexible and rapid iteration. The WordPress project has developed three initial flagship implementations:<\/p>\n