wpseek.com
A WordPress-centric search engine for devs and theme authors



_wp_connectors_init › WordPress Function

Since7.0.0
Deprecatedn/a
_wp_connectors_init ( No parameters )
Access:
  • private
Defined at:
Codex:

Initializes the connector registry with default connectors and fires the registration action.

Creates the registry instance, registers built-in connectors (which cannot be unhooked), and then fires the wp_connectors_init action for plugins to register their own connectors.


Source

function _wp_connectors_init(): void {
	$registry = new WP_Connector_Registry();
	WP_Connector_Registry::set_instance( $registry );

	// Only register default AI providers if AI support is enabled.
	if ( wp_supports_ai() ) {
		_wp_connectors_register_default_ai_providers( $registry );
	}

	// Non-AI default connectors.
	$registry->register(
		'akismet',
		array(
			'name'           => __( 'Akismet Anti-spam' ),
			'description'    => __( 'Protect your site from spam.' ),
			'type'           => 'spam_filtering',
			'plugin'         => array(
				'file'      => 'akismet/akismet.php',
				'is_active' => static function () {
					return defined( 'AKISMET_VERSION' );
				},
			),
			'authentication' => array(
				'method'          => 'api_key',
				'credentials_url' => 'https://akismet.com/get/',
				'setting_name'    => 'wordpress_api_key',
				'constant_name'   => 'WPCOM_API_KEY',
			),
		)
	);

	/**
	 * Fires when the connector registry is ready for plugins to register connectors.
	 *
	 * Built-in connectors and any AI providers auto-discovered from the WP AI Client
	 * registry have already been registered at this point and cannot be unhooked.
	 *
	 * AI provider plugins that register with the WP AI Client do not need to use
	 * this action — their connectors are created automatically. This action is
	 * primarily for registering non-AI-provider connectors or overriding metadata
	 * on existing connectors.
	 *
	 * Use `$registry->register()` within this action to add new connectors.
	 * To override an existing connector, unregister it first, then re-register
	 * with updated data.
	 *
	 * Example — overriding metadata on an auto-discovered connector:
	 *
	 *     add_action( 'wp_connectors_init', function ( WP_Connector_Registry $registry ) {
	 *         if ( $registry->is_registered( 'anthropic' ) ) {
	 *             $connector = $registry->unregister( 'anthropic' );
	 *             $connector['description'] = __( 'Custom description for Anthropic.', 'my-plugin' );
	 *             $registry->register( 'anthropic', $connector );
	 *         }
	 *     } );
	 *
	 * @since 7.0.0
	 *
	 * @param WP_Connector_Registry $registry Connector registry instance.
	 */
	do_action( 'wp_connectors_init', $registry );
}