在WordPress中创建自定义REST API端点通常涉及以下步骤:
-
定义命名空间和路由:首先,你需要定义一个命名空间和一个路由。命名空间通常是插件的简称或者你想要的任何唯一标识符,而路由则是API端点的路径。
-
注册路由:使用
register_rest_route
函数来注册你的自定义端点。 -
创建处理函数:为你的端点创建一个处理函数,这个函数将在端点被访问时执行。
以下是一个简单的示例,展示了如何在WordPress插件中创建一个自定义REST API端点:
<?php
/*
Plugin Name: Custom REST API Endpoint Example
Description: An example plugin that creates a custom REST API endpoint.
Version: 1.0
Author: Your Name
*/
// 在插件被激活时注册我们的自定义端点
function custom_api_init() {
// 注册一个新的命名空间和路由
register_rest_route('custom/v1', '/example', array(
'methods' => 'GET', // 允许的HTTP方法
'callback' => 'custom_api_example_callback', // 当路由被访问时调用的函数
));
}
add_action('rest_api_init', 'custom_api_init');
// 自定义端点的回调函数
function custom_api_example_callback($request) {
// 获取请求参数,例如:$param = $request->get_param('param_name');
// 假设我们返回一些数据
$data = array(
'message' => 'Hello, this is a custom endpoint!',
'success' => true,
);
// 返回一个WP_REST_Response对象
return new WP_REST_Response($data, 200);
}
在上面的代码中,我们创建了一个名为custom/v1/example
的端点,它可以通过GET请求访问。当端点被访问时,custom_api_example_callback
函数会被调用,并返回一个简单的JSON响应。
使用自定义端点:
一旦插件被激活,你可以通过以下URL访问自定义端点:
https://yourwordpresssite.com/wp-json/custom/v1/example
如果你需要处理POST请求或者需要验证请求,你可以在register_rest_route
函数的参数数组中添加额外的选项,比如permission_callback
来处理权限验证。
记住,创建自定义端点时,你应该确保遵循WordPress的安全最佳实践,比如验证和清理输入数据,确保只有有权限的用户可以访问端点。