在使用WordPress REST API创建自定义端点时,你需要遵循以下步骤:
1. 定义命名空间和路由
首先,你需要定义一个命名空间和一个路由。命名空间通常是你插件的简称,而路由是你想要创建的API端点的路径。
2. 注册路由
使用 register_rest_route()
函数来注册你的自定义端点。
3. 创建处理函数
定义一个处理函数来处理发送到你的自定义端点的请求。
下面是一个简单的示例,展示了如何创建一个自定义端点:
// 在插件文件或主题的 functions.php 文件中添加以下代码
// 第一步:设置命名空间和路由
namespace MyPlugin;
// 第二步:注册REST API路由
add_action( 'rest_api_init', function () {
register_rest_route( 'myplugin/v1', '/custom-endpoint', array(
'methods' => 'GET', // 或者 'POST', 'PUT', 'DELETE', 等.
'callback' => __NAMESPACE__ . 'my_custom_endpoint_callback',
) );
} );
// 第三步:创建处理函数
function my_custom_endpoint_callback( $request ) {
// 获取请求参数
$param = $request->get_param( 'myparam' );
// 处理逻辑
$data = array(
'message' => '这是自定义端点的响应。',
'param' => $param,
);
// 返回响应
return new WP_REST_Response( $data, 200 );
}
在上面的代码中:
myplugin/v1
是命名空间,它应该唯一地标识你的插件或功能。/custom-endpoint
是端点的路径。methods
定义了允许的HTTP方法。callback
是当端点被访问时调用的函数。
使用自定义端点
一旦你将上述代码添加到你的WordPress站点,你就可以通过以下URL访问你的自定义端点:
http://yourwordpresssite.com/wp-json/myplugin/v1/custom-endpoint
如果你想要传递参数,可以这样:
http://yourwordpresssite.com/wp-json/myplugin/v1/custom-endpoint?myparam=value
安全性和权限
在实际应用中,你可能需要考虑权限检查,以确保只有授权的用户可以访问你的端点。你可以使用 permissions_callback
参数来指定一个函数,该函数将决定是否允许访问端点。
register_rest_route( 'myplugin/v1', '/custom-endpoint', array(
'methods' => 'GET',
'callback' => __NAMESPACE__ . 'my_custom_endpoint_callback',
'permission_callback' => function () {
return current_user_can( 'read' ); // 或者更严格的权限检查
},
) );
确保你理解了WordPress REST API的基础,并在开发过程中遵循最佳实践。