Changeset 61983 for trunk/src/wp-includes/connectors.php
- Timestamp:
- 03/12/2026 07:54:50 AM (7 months ago)
- File:
-
- 1 edited
-
trunk/src/wp-includes/connectors.php (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/connectors.php
r61943 r61983 38 38 * 39 39 * @param string $id The connector identifier. 40 * @return array|null The registered connector data, or null if not registered. 40 * @return array|null { 41 * Connector data, or null if not registered. 42 * 43 * @type string $name The connector's display name. 44 * @type string $description The connector's description. 45 * @type string $logo_url Optional. URL to the connector's logo image. 46 * @type string $type The connector type. Currently, only 'ai_provider' is supported. 47 * @type array $authentication { 48 * Authentication configuration. When method is 'api_key', includes 49 * credentials_url and setting_name. When 'none', only method is present. 50 * 51 * @type string $method The authentication method: 'api_key' or 'none'. 52 * @type string $credentials_url Optional. URL where users can obtain API credentials. 53 * @type string $setting_name Optional. The setting name for the API key. 54 * } 55 * @type array $plugin { 56 * Optional. Plugin data for install/activate UI. 57 * 58 * @type string $slug The WordPress.org plugin slug. 59 * } 60 * } 61 * @phpstan-return ?array{ 62 * name: non-empty-string, 63 * description: non-empty-string, 64 * logo_url?: non-empty-string, 65 * type: 'ai_provider', 66 * authentication: array{ 67 * method: 'api_key'|'none', 68 * credentials_url?: non-empty-string, 69 * setting_name?: non-empty-string 70 * }, 71 * plugin?: array{ 72 * slug: non-empty-string 73 * } 74 * } 41 75 */ 42 76 function wp_get_connector( string $id ): ?array { … … 56 90 * @see WP_Connector_Registry::get_all_registered() 57 91 * 58 * @return array[] An array of registered connectors keyed by connector ID. 92 * @return array { 93 * Connector settings keyed by connector ID. 94 * 95 * @type array ...$0 { 96 * Data for a single connector. 97 * 98 * @type string $name The connector's display name. 99 * @type string $description The connector's description. 100 * @type string $logo_url Optional. URL to the connector's logo image. 101 * @type string $type The connector type. Currently, only 'ai_provider' is supported. 102 * @type array $authentication { 103 * Authentication configuration. When method is 'api_key', includes 104 * credentials_url and setting_name. When 'none', only method is present. 105 * 106 * @type string $method The authentication method: 'api_key' or 'none'. 107 * @type string $credentials_url Optional. URL where users can obtain API credentials. 108 * @type string $setting_name Optional. The setting name for the API key. 109 * } 110 * @type array $plugin { 111 * Optional. Plugin data for install/activate UI. 112 * 113 * @type string $slug The WordPress.org plugin slug. 114 * } 115 * } 116 * } 117 * @phpstan-return array<string, array{ 118 * name: non-empty-string, 119 * description: non-empty-string, 120 * logo_url?: non-empty-string, 121 * type: 'ai_provider', 122 * authentication: array{ 123 * method: 'api_key'|'none', 124 * credentials_url?: non-empty-string, 125 * setting_name?: non-empty-string 126 * }, 127 * plugin?: array{ 128 * slug: non-empty-string 129 * } 130 * }> 59 131 */ 60 132 function wp_get_connectors(): array { … … 326 398 327 399 /** 328 * Gets the registered connector settings.329 *330 * @since 7.0.0331 * @access private332 *333 * @return array {334 * Connector settings keyed by connector ID.335 *336 * @type array ...$0 {337 * Data for a single connector.338 *339 * @type string $name The connector's display name.340 * @type string $description The connector's description.341 * @type string $type The connector type. Currently, only 'ai_provider' is supported.342 * @type array $plugin Optional. Plugin data for install/activate UI.343 * @type string $slug The WordPress.org plugin slug.344 * }345 * @type array $authentication {346 * Authentication configuration. When method is 'api_key', includes347 * credentials_url and setting_name. When 'none', only method is present.348 *349 * @type string $method The authentication method: 'api_key' or 'none'.350 * @type string|null $credentials_url Optional. URL where users can obtain API credentials.351 * @type string $setting_name Optional. The setting name for the API key.352 * }353 * }354 * }355 */356 function _wp_connectors_get_connector_settings(): array {357 $connectors = wp_get_connectors();358 ksort( $connectors );359 return $connectors;360 }361 362 /**363 400 * Validates connector API keys in the REST response when explicitly requested. 364 401 * … … 397 434 } 398 435 399 foreach ( _wp_connectors_get_connector_settings() as $connector_id => $connector_data ) {436 foreach ( wp_get_connectors() as $connector_id => $connector_data ) { 400 437 $auth = $connector_data['authentication']; 401 438 if ( 'ai_provider' !== $connector_data['type'] || 'api_key' !== $auth['method'] || empty( $auth['setting_name'] ) ) { … … 432 469 $ai_registry = AiClient::defaultRegistry(); 433 470 434 foreach ( _wp_connectors_get_connector_settings() as $connector_id => $connector_data ) {471 foreach ( wp_get_connectors() as $connector_id => $connector_data ) { 435 472 $auth = $connector_data['authentication']; 436 473 if ( 'ai_provider' !== $connector_data['type'] || 'api_key' !== $auth['method'] || empty( $auth['setting_name'] ) ) { … … 486 523 try { 487 524 $ai_registry = AiClient::defaultRegistry(); 488 foreach ( _wp_connectors_get_connector_settings() as $connector_id => $connector_data ) {525 foreach ( wp_get_connectors() as $connector_id => $connector_data ) { 489 526 if ( 'ai_provider' !== $connector_data['type'] ) { 490 527 continue; … … 522 559 * @access private 523 560 * 524 * @param array $data Existing script module data.525 * @return array Script module data with connectors added.561 * @param array<string, mixed> $data Existing script module data. 562 * @return array<string, mixed> Script module data with connectors added. 526 563 */ 527 564 function _wp_connectors_get_connector_script_module_data( array $data ): array { 528 565 $connectors = array(); 529 foreach ( _wp_connectors_get_connector_settings() as $connector_id => $connector_data ) {566 foreach ( wp_get_connectors() as $connector_id => $connector_data ) { 530 567 $auth = $connector_data['authentication']; 531 568 $auth_out = array( 'method' => $auth['method'] ); … … 549 586 $connectors[ $connector_id ] = $connector_out; 550 587 } 588 ksort( $connectors ); 551 589 $data['connectors'] = $connectors; 552 590 return $data;
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)