首页 > 解决方案 > 来自另一个类的 Wordpress add_action

问题描述

这是我的代码:

class Show
{
    public function error()
    {
        add_action('admin_notices', [$this, 'pip1']);
    }

    public function pip1() {
        echo '
            <div class="notice notice-success"><p>test</p></div>
        ';
    }
}

(new Show())->error();

顶级代码工作正常并打印错误。

但是如果我在另一个类中使用这个代码,它就不起作用。

例子:

class Manager extends Controller
{
    public function add()
    {
        (new Show())->error();
    }
}

(new Manager())->add();

标签: phpwordpresswordpress-plugin-creation

解决方案


在调用它之前,您应该首先包含类文件。

class Manager extends Controller
{
    public function add()
    {
        require_once('path/to/class_Show/Show.php');
        (new Show())->error();
    }
}

(new Manager())->add();

推荐阅读