Connectors: Add connector registry for extensibility
Introduces WP_Connector_Registry class and a wp_connectors_init action hook so plugins can register their own connectors alongside the built-in defaults (Anthropic, Google, OpenAI).
Key changes:
WP_Connector_Registry — A final singleton class managing connector registration and lookup, with validation for IDs, required fields, and authentication methods.
wp_connectors_init action — Fired during init after built-in connectors are registered. Passes the registry instance so plugins call $registry->register() directly.
_wp_connectors_init() — Private function that creates the registry, merges hardcoded defaults with AI Client registry data, registers them, then fires the action.
- Public read-only functions —
wp_is_connector_registered(), wp_get_connector(), wp_get_connectors() for querying the registry after initialization.
- Logo URL support — Connectors can include an optional
logo_url field resolved from plugin directories via _wp_connectors_resolve_ai_provider_logo_url().
- Timing guards —
set_instance() rejects calls after init completes. Registration is only possible during wp_connectors_init.
- Connector API key settings are now only registered when the provider exists in the AI Client registry.
- Refactors
_wp_connectors_get_connector_settings() to read from the registry via wp_get_connectors().
Developed in https://github.com/WordPress/wordpress-develop/pull/11175
Props gziolo, flixos90, mukesh27, westonruter.
Fixes #64791.