首页 > 解决方案 > 为什么'init'钩子不起作用?

问题描述

我尝试向“init”钩子添加一个操作,但是当我打开任何页面时,我没有得到回调中定义的结果。

能说下怎么办吗?

(存在对文件系统的权限。我在回调内部找到了一个代码,直接进入了激活方法并且它起作用了)

class MyPlugin
{
    public function activate()
    {
        add_action('init', function() {
            $file = fopen(__DIR__.'myFile.txt', "w");
            fwrite($file, 'it works');
            fclose($file);
        });
    }

$myPluggin = new MyPlugin();

register_activation_hook(__FILE__, array($myPluggin, 'activate'));

PS:当我do_action('init')手动调用时,它可以工作。但是如何让它自动工作呢?

标签: phpwordpress

解决方案


我找到了我的问题的答案,(写在这里):

在插件的激活钩子之后只触发了两个钩子:'activated_plugin' 和 'shutdown'


推荐阅读