正确使用REGISTER_ACTIVATION_HOOK

时间:2018-02-21 作者:bakar

嗨,我正在开发一个插件,有一次遇到了问题。我尝试过探索不同的论坛以及WordPress codex,但它并不是百分之百的清晰。谁能帮我理解register_activation_hook 实际上很有效。

我有以下不起作用的代码:

register_activation_hook(__FILE__, \'plugin_activation_fn\'  );
      function plugin_activation_fn(){
      define(\'PLUGIN_DIR\', plugin_dir_path( __FILE__ ));
      require_once PLUGIN_DIR . \'includes/contact.php\';
}
但如果我把代码移到register_activation_hook 功能正常

define(\'PLUGIN_DIR\', plugin_dir_path( __FILE__ ));
require_once PLUGIN_DIR . \'options.php\';
require_once PLUGIN_DIR . \'includes/contactone.php\';
contact.php 包含以下代码:

if (!empty($_GET[\'email\']) && !empty($_GET[\'token\'])) {
    add_action(\'init\', \'my_test_fn\', 0);
}
function my_test_fn(){
    echo\'test\';
}
我做错了什么?请帮忙。谢谢

1 个回复
最合适的回答,由SO网友:Johansson 整理而成

此报价来自The Codex 明确说明此函数的作用:

这个register_activation_hook 函数注册一个插件函数,该函数将在插件激活时运行。

这意味着,此函数的工作方式与类的类似__construct() 方法您可以使用它来设置初始选项、更新数据库等。它并不是每次加载core时都运行,它只在您单击Activate 插件列表中插件的按钮。

结束

相关推荐

WordPress Plugins won't save

我有一个WordPress网站,我刚刚接管了一个客户,因此我没有能力与以前的网站管理员/开发人员交谈。该网站使用的是YOOtheme对Subway稍加修改的版本。为了更新插件位置,Subway的一部分有“小部件选项”。我无法更改外观或小部件显示的页面,因为我无法保存任何内容。它看起来像已保存,但没有保存,或者您会在保存按钮旁边看到“加载循环”,它一直在运行。Things to note:<WordPress和插件是最新的。在我们转移到新服务器之前,插件是可更新的。新服务器有一个max\\u inpu