Make WordPress Core

Timestamp:
02/20/2026 08:41:07 AM (13 days ago)
Author:
flixos90
Message:

AI: Add the WordPress AI Client.

The WordPress AI Client is a provider-agnostic API for WordPress code to call generative AI models via a consistent interface. Plugins and Core can use it to provide AI driven features for users, while users maintain full autonomy in choosing which AI provider(s) they want to rely on and how they configure them.

This changeset merges the technical foundation for the WordPress AI Client into Core. This foundation was originally implemented in the https://github.com/WordPress/wp-ai-client package, which will be sunset going forward. The underlying https://github.com/WordPress/php-ai-client package is bundled with this changeset and will remain a separate library maintained by the WordPress project, for WordPress Core and the PHP ecosystem.

No AI providers are bundled out of the box. Without explicit configuration and explicit calling code, WordPress will not send prompts or data to any external service. Site owners will be able to install plugins to enable usage of specific AI providers, built on top of this foundation.

This is the first changeset of two that are most relevant for the AI Client feature. The subsequent change will introduce a configuration screen for different AI providers, where users can install provider plugins, configure their credentials, and enable the canonical WordPress AI plugin. Together, this infrastructure and UI will enable the WordPress ecosystem to build AI features in a seamless and interoperable way.

Original merge proposal: https://make.wordpress.org/core/2026/02/03/proposal-for-merging-wp-ai-client-into-wordpress-7-0/

Props jason_the_adams, flixos90, desrosj, dkotter, jorgefilipecosta, peterwilsoncc, johnbillion, jorbin, swissspidy, isotropic.
See #64591.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-settings.php

    r61689 r61700  
    287287require ABSPATH . WPINC . '/class-wp-http-requests-response.php';
    288288require ABSPATH . WPINC . '/class-wp-http-requests-hooks.php';
     289
     290
     291
     292
     293
     294
     295
     296
    289297require ABSPATH . WPINC . '/class-wp-icons-registry.php';
    290298require ABSPATH . WPINC . '/widgets.php';
     
    466474$GLOBALS['wp_textdomain_registry']->init();
    467475
     476
     477
     478
     479
     480
    468481// Load multisite-specific files.
    469482if ( is_multisite() ) {
Note: See TracChangeset for help on using the changeset viewer.