Skip to content

WordPress Integration

AI Router intercepts AI requests via WordPress hooks:

// Pre-request hook — Router decides which configuration to use
add_action('wp_ai_pre_request', [$router, 'handle_pre_request'], 10, 2);
// Post-request hook — Logging, analytics, etc.
add_action('wp_ai_post_request', [$router, 'handle_post_request'], 10, 2);

All endpoints require manage_options capability.

MethodEndpointDescription
GET/wp-json/ai-router/v1/configurationsList all configurations
GET/wp-json/ai-router/v1/configurations/{id}Get single configuration
POST/wp-json/ai-router/v1/configurationsCreate configuration
PUT/wp-json/ai-router/v1/configurations/{id}Update configuration
DELETE/wp-json/ai-router/v1/configurations/{id}Delete configuration
GET/wp-json/ai-router/v1/configurations/defaultGet default config ID
PUT/wp-json/ai-router/v1/configurations/defaultSet default config
GET/wp-json/ai-router/v1/capability-mapGet capability mappings
PUT/wp-json/ai-router/v1/capability-mapUpdate capability mappings
{
"id": "uuid-string",
"name": "My OpenAI Config",
"provider_type": "openai",
"settings": {
"api_key": "sk-...",
"model": "gpt-4",
"endpoint": "https://api.openai.com/v1"
},
"capabilities": ["text_generation", "image_generation"],
"is_default": true,
"priority": 10
}

ConnectorSync synchronizes AI Router configurations with WordPress’s native Connectors system:

final class ConnectorSync {
/**
* Push AI Router config to WordPress connector.
*/
public function sync_to_connector(Configuration $config): void;
/**
* Pull connector data into AI Router.
*/
public function sync_from_connector(string $connector_id): Configuration;
}

This ensures credentials entered in the WordPress Connectors UI are available to AI Router and vice versa.

AI Router registers a settings page and integrates with the WordPress Connectors panel:

add_action('admin_menu', function() {
add_submenu_page(
'tools.php',
__('AI Router', 'ai-router'),
__('AI Router', 'ai-router'),
'manage_options',
'ai-router',
[$this, 'render_admin_page']
);
});

The React-based connectors.js component mounts in the Connectors panel, providing capability checkboxes and priority settings.

ActionWordPress Capability
View configurationsmanage_options
Create/edit configurationsmanage_options
Delete configurationsmanage_options
Change defaultmanage_options
Update capability mapmanage_options