Search posts

Search posts

Rich Tabor

Design. Engineering. Product.

Meet the WordPress AI Providers

The new WP AI Client in WordPress 7.0 is provider-agnostic. This means you get to choose what AI providers you want to use, while plugins just add functionality via abilities.

Black-and-white painterly scene of a classical orchestra performing in an ornate concert hall. A conductor stands at the center with raised baton, surrounded by seated musicians playing string, woodwind, and brass instruments. The composition features soft natural light, dramatic shadows, and rich, textured brushwork reminiscent of Renaissance and Baroque art.

Without providers, AI abilities added by plugins won’t work, which is fine if you don’t want to run AI tooling. It’s your site, you get to choose how you want it to work.

There are three provider plugins that have landed on WordPress.org, build by the WordPress.org AI team:

Install one, set your API key via env var or constant (e.g. ANTHROPIC_API_KEY), and every plugin using the WP AI Client can call that provider’s models.

This means a plugin built on the WP AI Client works the same no matter which provider the site runs.

How providers work

Each provider plugin registers itself with the WP AI Client on init when active. It handles authentication, model discovery, and the differences between each service’s API.

Model IDs are fetched dynamically and cached for about a day, so new models show up without a plugin update. Capability support can still depend on provider plugin updates, but the model list stays current on its own.

Once a provider is active, any plugin can call it through the WP AI Client. Here’s the simplest version:

$response = wp_ai_client_prompt( 'Summarize this in one sentence: ' . $content )
    ->generate_text();

The client selects a compatible model from your installed providers. The plugin adding the ability doesn’t need to specify which model, but it does support adding a preferred model (say, Opus 4.6 for content suggestions), like this:

$response = wp_ai_client_prompt( 'Describe this image.' )
    ->using_model_preference( 'claude-sonnet-4-6', 'gpt-5.3' )
    ->generate_text();

The client tries each in order, then falls back to automatic selection if that provider, or model, is not available.

If no compatible model exists, it returns an error rather than forcing an incompatible one.

What about other providers?

The system is open. Anyone can build a provider plugin for other services.

There’s already a community-built providers for Grok, OpenRouter, and Ollama. The same pattern works for any service with an API. I’m sure we’ll see many more providers here soon.

So grab whichever fits your stack and start using them with the latest WordPress 7.0 Beta.

Have a provider you want support for?