我在WordPress中遇到了一个关于wp_enqueue_script()
的奇怪事情,我想要发生的是通过在functions.php中添加一个动作钩子来在页面上添加一个脚本,但是当我这样做时,不要再增加脚本的页面上,但是当我把代码作为一个插件现在增加了脚本的页面上WordPress WP入队脚本问题
注:在functions.php的,当我在页脚添加脚本:add_action('wp_footer','function_name');
它工作正常,但当我将它添加到wp_head和init时,它不会在我将代码放在functions.php
上时添加脚本,但是当我将它作为插件来使用时,即使将它添加到wp_head和init上,它也可以正常工作
我需要添加脚本INIT或WP_HEAD,但它不工作的时候,我把该代码的functions.php我需要的脚本中部分的主题不是一个插件
//functions.php
add_action('init', 'function_name');
function function_name(){
wp_enqueue_script('script_holder', get_template_directory_uri() . '/script.js');
}
//as a plugin
add_action('init', 'function_name');
function function_name() {
$plugin_location=WP_PLUGIN_URL.'/'.str_replace(basename(__FILE__),"",plugin_basename(__FILE__));
if(!is_admin()){
wp_enqueue_script('script_holder', $plugin_location . '/script.js');
}
}
我知道它应该工作,即使在functions.php的,但我真的不知道为什么会出现这种情况 谁能帮我解释一下我为什么会出现这种情况吗?
非常感谢你
基本上这是我在做什么:
add_action('init', 'override_jquery');
function override_jquery() {
if(!is_admin()){
wp_deregister_script('jquery');
wp_enqueue_script('nashgraphics_jquery_library', get_template_directory_uri() . '/bootstrap/js/jquery-1.9.0.min.js');
}
}
感谢您的答复,是的,我知道,但我真的需要回答我的问题,因为我关心的是为什么它是否包括脚本,当我把代码作为一个插件,并且不包括脚本时,我把它放在函数上。php – 2013-04-29 04:36:07
'init'在加载所有插件后触发。你可以尝试挂接到'plugins_loaded':http://codex.wordpress.org/Plugin_API/Action_Reference/plugins_loaded – diggy 2013-04-29 11:43:44
也没工作,请仔细阅读上面的编辑,让你知道究竟是什么,我试图做的。谢谢 – 2013-04-30 02:57:32