为什么wp_注册脚本不适用于注册激活挂接

时间:2013-09-09 作者:dramasea

我想在插件激活时注册一个脚本。所以我写道:

register_activation_hook(__FILE__, \'register_script\');
function register_script(){
   wp_register_script(\'addjs\',\'http://example.com/exmple.js\');
}
接下来,我创建了一个元框,并将脚本排入add_meta_boxes 钩子:

wp_enqueue_script(\'addjs\');
但这行不通。为什么?我的js文件只是一个简单的警报函数。然而,当我使用init hook或其他hook注册我的脚本时,我的代码可以工作-为什么?

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

当插件在沙盒中激活时,与激活挂钩的任何内容都只在一个请求中运行,并捕获输出以检查错误。您的代码不会在激活后的任何后续请求上运行,因此您的脚本不会被注册。它在init上工作,因为该操作会在每个请求上运行。

结束