如何使用WordPress的 REST API 创建自定义端点?

2024-12-20 28 0

在WordPress中创建自定义REST API端点涉及几个步骤。以下是一个基本的指南,帮助你创建一个简单的自定义端点:

1. 添加钩子

首先,你需要使用 add_action() 函数来添加一个钩子到 rest_api_init 动作。这个动作在REST API初始化时触发。

add_action( 'rest_api_init', 'register_custom_routes' );

2. 注册自定义路由

接下来,定义一个函数来注册你的自定义路由。在这个函数中,你可以使用 register_rest_route() 函数来创建一个新的路由。

function register_custom_routes() {
    // 注册一个新的路由
    register_rest_route( 'namespace/v1', '/route', array(
        'methods' => 'GET', // 或者 'POST', 'PUT', 'DELETE', 等.
        'callback' => 'custom_route_callback',
    ) );
}

在这里,namespace/v1 是你的命名空间和版本号,/route 是你的路由路径,methods 是HTTP方法,callback 是当路由被访问时调用的函数。

3. 创建回调函数

现在,你需要创建一个回调函数,这个函数将在路由被访问时执行。

function custom_route_callback( WP_REST_Request $request ) {
    // 处理请求并返回响应
    $response = new WP_REST_Response( array( 'message' => '这是自定义端点的响应' ) );
    $response->set_status( 200 );
    return $response;
}

在这个例子中,我们创建了一个简单的响应,返回一个包含消息的数组。

4. 完整代码示例

将上述代码片段组合起来,你将得到以下完整的代码示例:

add_action( 'rest_api_init', 'register_custom_routes' );

function register_custom_routes() {
    register_rest_route( 'namespace/v1', '/route', array(
        'methods' => 'GET',
        'callback' => 'custom_route_callback',
    ) );
}

function custom_route_callback( WP_REST_Request $request ) {
    $response = new WP_REST_Response( array( 'message' => '这是自定义端点的响应' ) );
    $response->set_status( 200 );
    return $response;
}

5. 将代码添加到WordPress

将上述代码添加到你的主题的 functions.php 文件中,或者创建一个插件来包含这段代码。

6. 测试自定义端点

一旦代码被添加到WordPress,你可以通过以下URL访问你的自定义端点:

http://yourwordpresssite.com/wp-json/namespace/v1/route

使用浏览器或者像Postman这样的工具来测试你的端点。

请记住,根据你的需求,你可能需要添加额外的参数处理、权限检查和其他逻辑到你的端点。这只是一个基础的例子来展示如何开始创建自定义REST API端点。

相关文章

在WordPress主题开发中,如何使用wp_footer()和wp_head()钩子来添加自定义代码?
在WordPress插件中,如何使用wp_enqueue_script()和wp_enqueue_style()来正确地注册和加载脚本和样式?
在WordPress插件开发中,如何使用register_post_type()来创建自定义文章类型?
在WordPress主题开发中,如何使用is_page()和is_single()等条件标签来控制内容输出?
如何使用acf_add_options_page()来为WordPress主题添加自定义设置页面?
如何使用WordPress的 add_menu_page() 函数在后台创建自定义菜单页面?