Wordpress Rest API返回错误

Sch*_*dko 3 wordpress wordpress-rest-api

我正在为wordpress开发一个插件,并且在使用Rest API时遇到了麻烦.在我的测试服务器上,它没有问题.(v4.6.6)在另一台服务器(v4.4.10)上,API返回以下错误消息:

{"code":"rest_invalid_handler","message":"
Der Handler f\u00fcr die Route ist ung\u00fcltig","data":{"status":500}}%
Run Code Online (Sandbox Code Playgroud)

该消息是德语,意思是"路由的处理程序无效".不明白为什么他们翻译API的错误消息.对我没有任何意义.:)

http:// domain/wp-json上的路由相同.也许是不同WP版本的问题?

路线的定义:

function __construct() {
    add_action( 'rest_api_init', function(){
        register_rest_route( 'test_namespace', 'ping', array(
            'methods' => 'POST',
            'callback' => array($this, 'ping_test'),
            'permission_callback' =>  array($this, 'myhacks_permission_callback'),
        ) );
    } );
}
Run Code Online (Sandbox Code Playgroud)

感谢帮助.

Kre*_*ese 9

我遇到过同样的问题.似乎该方法ping_test不能是私有的.如果将其更改为公共,则错误消失.

  • 这个答案帮助我解决了同样的问题。我在FrontController中注册了AjaxController类。在AjaxController中,我使用`'call _'=> [$ this,'portfolioSave',],`register_rest_route`的args数组属性在其构造函数中注册REST路由。我的方法是“受保护的”,当我将其更改为“公开”时,它对我有所帮助。非常感谢! (2认同)