Wordpress REST Api:add_action('rest_api_init', callback) 不调用回调

Posted

技术标签:

【中文标题】Wordpress REST Api:add_action(\'rest_api_init\', callback) 不调用回调【英文标题】:Wordpress REST Api: add_action( 'rest_api_init', callback) does not call the callbackWordpress REST Api:add_action('rest_api_init', callback) 不调用回调 【发布时间】:2021-08-03 13:11:33 【问题描述】:

问题:

我正在尝试为 Wordpress 插件注册自定义端点。我面临的问题是,当我调用 add_action('rest_api_init', callback) 时,没有调用回调函数。在该回调函数中存在“register_rest_route()”方法,而该方法没有被调用,我无法注册任何自定义端点。

我正在使用 docker 进行开发 没有抛出错误

代码:

public function register()
    
        $this->setup_init();

    
    
    public function setup_init()
    
        var_dump('print1');

        add_action('rest_api_init', array($this, 'register_custom_endpoints'));
    
    
    public function register_custom_endpoints()
    

        var_dump('print2');
        die();

        register_rest_route('test', '/test', array(
            'methods'  => 'GET',
            'callback' => 'menu_setup',
        ));
    

问题:

代码到达“var_dump('print1')”,但从未到达“var_dump('print2')”。我在这里遗漏了什么吗?

【问题讨论】:

【参考方案1】:

在尝试了许多选项后,我发现将“设置 -> 永久链接 -> 常用设置”更改为其他任何选项,然后“普通”选项解决了这个问题。现在正在到达回调方法,并且正在注册我的自定义端点。

【讨论】:

这对我也有用。我很好奇这是为什么。

以上是关于Wordpress REST Api:add_action('rest_api_init', callback) 不调用回调的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 REST_API wordpress 创建用户?

javascript 禁用WordPress REST API

php WordPress - REST API

php WordPress REST API配方

Wordpress REST API:如何在 WP REST API JSON 文件中获取“纯文字”内容?

Wordpress REST Api:add_action('rest_api_init', callback) 不调用回调