在WordPress中创建自定义REST API端点是一个相对直接的过程,可以通过以下几个步骤来完成:
步骤 1:设置钩子
首先,你需要使用 rest_api_init
钩子来注册你的自定义端点。这个钩子在REST API被初始化时触发。
步骤 2:注册路由
在你的插件或主题的 functions.php
文件中,你可以使用 register_rest_route
函数来注册一个新的路由。
以下是一个基本的例子,展示了如何创建一个名为 /myplugin/v1/myendpoint
的端点:
function myplugin_register_routes() {
// 注册一个新的路由
register_rest_route('myplugin/v1', '/myendpoint', array(
'methods' => 'GET', // 允许的HTTP方法
'callback' => 'myplugin_myendpoint_callback', // 当路由被访问时调用的函数
));
}
add_action('rest_api_init', 'myplugin_register_routes');
步骤 3:创建回调函数
接下来,你需要创建一个回调函数来处理请求并返回数据。这个函数的名称应该与你在 register_rest_route
函数中指定的 callback
参数相同。
function myplugin_myendpoint_callback($request) {
// 获取请求参数
$param = $request->get_param('myparam');
// 处理数据
$data = array(
'message' => '这是我的自定义端点!',
'param' => $param,
);
// 返回响应
return new WP_REST_Response($data, 200);
}
在上面的例子中,我们创建了一个GET端点,它接受一个名为 myparam
的参数,并返回一个包含消息和参数值的数组。
步骤 4:测试端点
一旦你将代码添加到你的 functions.php
文件并保存,你可以通过访问以下URL来测试你的端点:
http://yourwordpresssite.com/wp-json/myplugin/v1/myendpoint?myparam=value
替换 yourwordpresssite.com
为你的WordPress站点的URL,并可以添加查询参数 myparam
来测试端点。
步骤 5:处理其他HTTP方法
如果你想处理POST、PUT、DELETE等HTTP方法,你可以在 register_rest_route
函数的 methods
参数中添加它们,并为每种方法创建相应的回调函数。
注意事项
- 确保你的端点名称是唯一的,以避免与WordPress核心或其他插件或主题中的端点冲突。
- 考虑到安全性,你可能需要添加权限检查和输入验证。
通过以上步骤,你可以创建一个基本的自定义REST API端点。你可以根据需要扩展这个端点,以处理更复杂的数据和逻辑。