Wordpress Rest API返回错误

问题描述 投票:2回答:2

我正在为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}}%

该消息是德语,意思是“路由的处理程序无效”。不明白为什么他们翻译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'),
        ) );
    } );
}

感谢帮助。

wordpress wordpress-rest-api
2个回答
9
投票

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


1
投票

看看WordPress core,你可以看到传递的方法是callback aka ping_test必须是可调用的。

因此,只有当该方法不存在时(例如我刚刚因为拼写错误而遇到它)或者如果不可访问(如受保护或私有方法),此错误才会触发

© www.soinside.com 2019 - 2024. All rights reserved.