自留地
切勿乱来!
     找回密码     哈林摇

WordPress 7.0 Connectors连接器 API使用介绍

WordPress 7.0引入了Connectors连接器 API,这是一个用于注册和管理与外部服务的连接的新框架。最初的重点是AI提供商,为WordPress提供了一种标准化的方式来处理API密钥管理、提供商发现和用于配置AI服务的管理UI。
这篇文章介绍了Connectors连接器 API的功能、它在后台的工作方式以及插件开发人员需要了解的内容。

什么是Connectors 连接器?

连接器表示与外部服务的连接。
每个连接器都携带标准化的元数据——显示名称、描述、徽标、身份验证配置,以及与WordPress插件的可选关联。
该系统目前专注于AI提供商,但该架构旨在支持未来版本中的其他连接器类型。
WordPress 7.0附带了三个功能连接器——Anthropic、Google和OpenAI——
可以从新的设置→连接器访问,无缝安装。
每个连接器都存储为具有以下形状的关联数组:

array(
    'name'           => 'Anthropic',
    'description'    => 'Text generation with Claude.',
    'logo_url'       => 'https://example.com/anthropic-logo.svg',
    'type'           => 'ai_provider',
    'authentication' => array(
        'method'          => 'api_key',
        'credentials_url' => 'https://platform.claude.com/settings/keys',
        'setting_name'    => 'connectors_ai_anthropic_api_key',
    ),
    'plugin'         => array(
        'slug' => 'ai-provider-for-anthropic',
    ),
)

AI提供者如何被自动检测

如果你正在构建一个与WP AI客户端集成的AI提供者插件,你不需要手动注册连接器。
连接器API自动从WP AI客户端的默认注册表中查找提供程序,并使用正确的元数据创建连接器。
以下是初始化过程中发生的事情:
1,内置连接器(Anthropic、Google、OpenAI)使用硬编码默认值注册。
2,系统在AiClient::defaultRegistry()中查询所有已注册的提供程序。
3,对于每个提供者,元数据(名称、描述、徽标、身份验证方法)将合并到默认值之上,提供者注册表值优先。
4,wp_connectors_init操作会触发,以便插件可以覆盖元数据或注册其他连接器。
简而言之:如果你的AI提供者插件在WP AI客户端注册,连接器就会为你创建。不需要额外的代码。

设置>连接器管理

注册的ai_provider连接器出现在新的“设置”>“连接器”管理页面上。页面将每个连接器呈现为页卡形式,显示内容:
名称、描述和logo_url显示在页卡上。
plugin.slug启用安装/激活控件——屏幕检查相关插件是否已安装并处于活动状态,并显示相应的操作按钮。
authentication.credentials_url呈现为一个链接,将用户引导到提供商的网站以获取API凭据。
对于api_key连接器,屏幕显示当前源密钥(变量环境、PHP常量或数据库)和连接状态。
具有其他身份验证方法或类型的连接器存储在PHP注册表中,并通过脚本模块数据公开,但目前需要客户端JavaScript注册表来定制前端UI。

身份验证和API密钥管理

连接器支持两种身份验证方法:
api_key:需要一个api密钥,该密钥可以通过变量环境、PHP常量或数据库(按该顺序检查)提供。
none:不需要身份验证。
身份验证方法(api_key或none)由WP AI客户端中注册的元数据提供程序确定。
对于使用api_key的提供者,将使用模式connectors_ai_{$id}_api_key自动生成数据库设置名称。
存储在数据库中的API密钥未加密,但在用户界面中被屏蔽。
同样的命名约定适用于环境变量和PHP常量:{PROVIDER_ID}_API_KEY(例如:anthropic映射到ANTHROPIC_API_KEY)。

优先级源密钥API

对于api_key连接器,系统会按以下顺序查找值设置:
变量环境,例如:ANTHROPIC_API_KEY
PHP常量,例如:define( 'ANTHROPIC_API_KEY', 'sk-...' );
数据库,通过后台管理存储,例如:connectors_ai_anthropic_api_key设置

公共API函数

连接器API提供了三个用于查询注册表的公共函数。这些在init之后可用。
wp_is_connector_registered()
检查连接器是否已注册:

if ( wp_is_connector_registered( 'anthropic' ) ) {
    // The Anthropic connector is available.
}

wp_get_connector()
检索单个连接器的数据:

$connector = wp_get_connector( 'anthropic' );
if ( $connector ) {
    echo $connector['name']; // 'Anthropic'
}

返回一个包含以下键的关联数组:name、description、type、authentication,以及可选的logo_url和plugin。如果连接器未注册,则返回null。
wp_get_connectors()
检索所有已注册的连接器,按连接器ID键入:

$connectors = wp_get_connectors();
foreach ( $connectors as $id => $connector ) {
    printf( '%s: %s', $connector['name'], $connector['description'] );
}

覆盖连接器元数据

注册所有内置和自动检测的连接器后,wp_connectors_init操作将触发。插件可以使用此钩子覆盖现有连接器上的元数据。
由于注册表拒绝重复的ID,重写需要一个注销、修改、注册顺序:

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 );
    }
} );

关于覆盖模式的关键点:

在调用unregister()之前,始终检查is_registered(),在不存在的连接器上调用unregulator()会触发_doing_it_wrong()通知。
unregister()返回数据连接器,您可以修改该连接器并将其传递回register。
连接器ID必须与模式/^[a-z0-9_]+$/匹配(仅限小写字母数字和下划线)。

注册方法

在wp_connectors_init回调函数中,WP_Connector_Registry实例提供了以下方法:

Method Description
register( $id, $args ) 注册新连接器。失败时返回数据连接器或null。
unregister( $id ) 移除连接器并返回其数据。如果未找到,则返回null。
is_registered( $id ) 检查连接器是否存在。
get_registered( $id ) 检索单个连接器的数据。
get_all_registered() 检索所有已注册的连接器。

在wp_connectors_init回调之外,请使用公共API函数(wp_get_connector()、wp_get-connectors()和wp_is_connector_registered()),而不是直接访问注册表。

初始化生命周期

了解初始化序列有助于决定在哪里挂接:
在初始化操作期间,_wp_connectors_init()运行并:
创建WP_Connector_Registry单例。
使用硬编码默认值注册内置连接器(Anthropic、Google、OpenAI)。
自动从WP AI客户端注册表中发现提供者,并将其元数据合并到默认值之上。
触发wp_connectors_init操作——这是插件覆盖元数据或注册其他连接器的地方。
wp_connectors_init操作是修改注册表的唯一受支持的入口点。+尝试在init之外设置寄存器实例会触发_doing_it_wrong()通知。

结语

WordPress 7.0中的连接器API适用于AI提供商,但底层架构是为增长而设计的。
目前,只有具有api_key身份验证的ai_provider连接器才能获得完整的管理UI处理。
PHP注册已经接受任何类型的连接器
缺少的是非AI类型连接器的前端集成。
预计未来的版本将:
扩展对api_key和none之外的其他身份验证方法的支持。
取消管理页面的ai_provider类型限制。
自定义连接器UI提供客户端JavaScript注册API。
当这些功能实现时,wp_connectors_init操作将是注册新连接器类型的主要钩子。

1 收藏 打赏
×
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《WordPress 7.0 Connectors连接器 API使用介绍》
文章链接:https://www.ediok.cn/blog/2026/03/6665.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

评论 抢沙发

评论前必须登录!

 

关注互联网发展前沿,关注PHPCMS技术演进,钻研PHPCMS技术开发

问答社区 联系我们
后退
Alt+←
前进
Alt+→
刷新
F5
无法复制?

登录

登录即表示同意本站用户协议隐私政策
©2026 周涛博客 All rights reserved

注册

注册即表示同意本站用户协议隐私政策
©2026 周涛博客 All rights reserved

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

微信扫一扫

微信扫一扫