【问题标题】:WP Rest API: new route return rest_invalid_handlerWP Rest API:新路由返回 rest_invalid_handler
【发布时间】:2018-03-02 15:40:47
【问题描述】:

这是一个用于创建新路由的简单测试脚本:

add_action( 'rest_api_init', function () {
  register_rest_route( 'ass', '/ativar', array(
    'methods' => 'GET',
    'callback' => 'testing_route',
  ) );
} );

function testing_route($data){
    return array( 'message' => 'testing route' );
}

但它返回一条错误消息:

rest_invalid_handler

【问题讨论】:

    标签: php wordpress wordpress-rest-api


    【解决方案1】:

    解决了!

    'callback' => __NAMESPACE__ . '\\testing_route',
    

    【讨论】:

    • 编辑它,让它成为你问题的答案
    • 很好,忘记连接命名空间:)
    • 另请注意,如果您使用对象方法作为回调,则它需要具有公共可见性,否则它将不返回任何内容。
    【解决方案2】:

    在我的例子中,我在我的班级内的一个函数中设置register_rest_route。我只是补充说:

    'callback' => array($this, 'name_of_callback_function),
    

    【讨论】:

      【解决方案3】:

      试试这个:

      'callback' => __CLASS__ . '::testing_route',
      

      【讨论】:

      • 你应该指定一个答案更多扩展和更多细节
      • 解决了我在使用类方法与实例方法时的问题。开膛手!
      【解决方案4】:

      您的回调不应使用任何参数,只需删除 $data

      【讨论】:

      • 实际上,回调需要这个参数,以防他们必须对请求中发送的数据做任何事情
      猜你喜欢
      • 2017-08-03
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 2016-03-18
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      相关资源
      最近更新 更多