嗨,我正在开发一个插件,有一次遇到了问题。我尝试过探索不同的论坛以及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\';
}
我做错了什么?请帮忙。谢谢
最合适的回答,由SO网友:Johansson 整理而成
此报价来自The Codex 明确说明此函数的作用:
这个register_activation_hook 函数注册一个插件函数,该函数将在插件激活时运行。
这意味着,此函数的工作方式与类的类似__construct() 方法您可以使用它来设置初始选项、更新数据库等。它并不是每次加载core时都运行,它只在您单击Activate 插件列表中插件的按钮。