为WordPress REST API创建自定义端点而不注册

时间:2017-01-30 18:50:45

标签: wordpress wordpress-rest-api

我已经关注了几个示例,似乎无法注册自定义端点。我正在创建自定义插件并想要注册自定义端点。这是我的代码:

add_action( 'init', 'setup_init' );


function setup_init() {

   add_action( 'rest_api_init', 'wpc_register_wp_api_endpoints' );

   function wpc_register_wp_api_endpoints() {

    register_rest_route( 'setup', '/client/menu', array(
        'methods' => 'GET',
        'callback' => 'menu_setup',
    ));
}

   function menu_setup($request_data){
       return 'hello world';
   }
}

我访问mysite.com/setup/client/menu并且找不到页面错误。然后检查mysite.com/wp-json/wp/v2/,我没有看到我的路线/终点已注册。我的插件已启用。难道我做错了什么?

1 个答案:

答案 0 :(得分:0)

注册端点存在一个小错误。替换行:

register_rest_route( 'setup', '/client/menu'

具有:

register_rest_route( 'setup/client', '/menu'

以下是您的代码的完整摘要:

add_action( 'init', 'setup_init' );


function setup_init() {

   add_action( 'rest_api_init', 'wpc_register_wp_api_endpoints' );

   function wpc_register_wp_api_endpoints() {

    register_rest_route( 'setup/client', '/menu', array(
        'methods' => 'GET',
        'callback' => 'menu_setup',
    ));
}

   function menu_setup($request_data){
       return 'hello world';
   }
}

让我知道是否有任何查询,如果可行,请接受答案:)