使用WordPress REST API 创建和读取自定义端点涉及几个步骤。以下是一个基本的指南:
1. 创建自定义端点
要创建自定义端点,你需要使用 register_rest_route
函数。这通常在主题的 functions.php
文件中完成,或者在一个专门的插件中。
以下是一个示例,展示了如何创建一个名为 /my-plugin/v1/custom-endpoint
的自定义端点:
function my_register_routes() {
// 注册一个新的路由到 /my-plugin/v1/custom-endpoint
register_rest_route('my-plugin/v1', '/custom-endpoint', array(
'methods' => 'GET', // 或者 'POST', 'PUT', 'DELETE', 等.
'callback' => 'my_custom_endpoint_callback',
));
}
add_action('rest_api_init', 'my_register_routes');
function my_custom_endpoint_callback($request) {
// 获取请求参数
$param = $request->get_param('my_param');
// 处理请求并返回数据
$data = array(
'message' => '这是自定义端点的响应。',
'param' => $param,
);
return new WP_REST_Response($data, 200);
}
2. 读取自定义端点
一旦你创建了自定义端点,你可以通过发送HTTP请求来读取它。以下是如何使用 curl
命令行工具来获取端点数据:
curl -X GET http://yourwordpresssite.com/wp-json/my-plugin/v1/custom-endpoint?my_param=value
如果你想要在JavaScript中使用AJAX请求来读取端点,你可以这样做:
jQuery.ajax({
url: 'http://yourwordpresssite.com/wp-json/my-plugin/v1/custom-endpoint',
method: 'GET',
data: {
my_param: 'value'
},
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
注意事项:
- 确保
my-plugin/v1
和/custom-endpoint
符合你的命名约定,并且不要与WordPress已有的端点冲突。 - 在发送请求时,确保URL是正确的,并且WordPress站点已经启用了REST API。
- 对于非GET请求(如POST、PUT、DELETE等),你可能需要在WordPress中设置适当的权限检查。
通过以上步骤,你可以创建和读取WordPress REST API的自定义端点。