未触发WordPress插件激活、停用和卸载挂钩

时间:2019-05-14 作者:Minhaz Irphan

我正在开发一个WordPress插件,它需要将某些规则添加到。激活插件后WordPress安装的htaccess文件。

最初,在我将代码切换到OOP(带有类和函数)之前,钩子和这个功能正在工作。但我换了之后,它就不工作了。

register_activation_hook( __FILE__, array( \'Optimizo\', \'activation\' ) );
上面的代码是我如何尝试从类“Optimizo”调用函数“activation”,该类与我编写上述激活挂钩的文件位于同一个文件中。“activation”函数中有必要的类,应在激活时调用这些类。下面是函数的内容。

protected function activation() {

    $this->activate();
}
我只是想知道我是否写错了代码,是因为函数有受保护的访问说明符,还是因为我做了一些完全错误的事情。

PS函数“activate”位于另一个类中,该类正在扩展为“Optimizo”类。

1 个回复
SO网友:MikeNGarrett

函数需要是公共的,但也可以是静态的。

例如,从Akismet插件:

在插件文件中:

register_activation_hook( __FILE__, array( \'Akismet\', \'plugin_activation\' ) );
在Akismet类文件中:

public static function plugin_activation() {
    ...
}