WordPress 7.0 ships the WordPress 7.0 AI Client, and the early documentation makes it look like a plug-and-play feature. It is not. There is a real architectural shift underneath it, and the latest Dev Chat agenda extending the 7.0 cycle tells me the team knows how complicated AI integration actually is.
For anyone who has been refactoring legacy code since the 4.x era, this reads less like another shiny new tool and more like an attempt to head off the Wild West phase we got with early Gutenberg blocks. A provider-agnostic PHP API in Core gives plugins one sanctioned way to talk to an LLM.
How the WordPress 7.0 AI Client is put together
Three new pieces carry the update: the AI Client, the Connectors API, and the Client-Side Abilities API. Extending the 7.0 cycle suggests those APIs are what is holding stability back right now. We have seen that pattern in Core before, though the stakes are higher here because of external service dependencies and race conditions during inference.
I have written before about how the AI Client provides a unified API for developers. The point of it is that a site owner switching from OpenAI to Anthropic should not force a rewrite of your plugin. Your logic stays decoupled from whichever provider SDK sits underneath.
Why the Connectors API matters more than the client
The Connectors API is the bridge. Rather than hardcoding API keys and endpoints, you declare Abilities that the WordPress 7.0 AI Client can execute. That buys you tighter security and shared UI patterns across the dashboard, and it spares everyone ten plugins with ten different AI Settings pages.
Compare that with the naive way we used to handle AI requests, hitting endpoints directly with wp_remote_post and hoping the transient did not expire at the wrong moment:
// The Old "Naive" Approach
function bbioon_old_ai_request( $prompt ) {
$response = wp_remote_post( 'https://api.openai.com/v1/completions', [
'headers' => [ 'Authorization' => 'Bearer ' . OPENAI_KEY ],
'body' => json_encode([ 'prompt' => $prompt ])
]);
return json_decode( wp_remote_retrieve_body( $response ) );
}
The problem is interoperability, or the total lack of it. If the site owner would rather run a local Llama model through Ollama for privacy, your code is dead. Here is what the new WordPress 7.0 AI Client expects instead, going through a standardized provider:
// The WordPress 7.0 Way
function bbioon_standardized_ai_call( $prompt ) {
$client = \WP_AI_Client::get_instance();
// This utilizes the registered connector and ability
$result = $client->prompt( $prompt, [
'ability' => 'text-generation',
'context' => 'post-editor'
]);
if ( is_wp_error( $result ) ) {
// Log the bottleneck or debug the race condition
return $result->get_error_message();
}
return $result['content'];
}
Rethinking the admin UI
The agenda also picks up Matt’s “Rethinking Left Navigation” proposal. That matters because the admin dashboard is filling up with AI-driven features. The more logic moves into the WordPress 7.0 AI Client, the more the UI has to carry those Abilities without burying the user. I went into this further in my post on AI features and the interop future.
If the WordPress 7.0 AI Client is eating your dev hours, I can take it on. I have been wrestling with WordPress since the 4.x days.
What to check before you build on it
Read the current Official AI Client Dev Note before you start implementing anything. The cycle extension means things are still moving. Pay particular attention to the Client-Side Abilities API, since that is where the front-end interactivity is going to live. Refactor onto these hooks now, or spend the rest of 2026 chasing breaking changes.