【发布时间】:2017-05-26 20:31:59
【问题描述】:
我在 WordPress 中遇到了关于 wp_enqueue_script() 的奇怪事情,我想要通过向 functions.php 添加一个动作挂钩来在页面上添加一个脚本,但是当我这样做时,它不会添加页面上的脚本,但是当我将代码作为插件放置时,它现在会在页面上添加脚本
注意: 在functions.php 中,当我在页脚中添加脚本时:add_action('wp_footer','function_name'); 它工作正常,但是当我将它添加到 wp_head 并初始化时,它不会在我添加脚本时添加将代码放在functions.php 上,但当我将其作为插件执行时,即使我将其添加到 wp_head 和 init 上,它也能完美运行
我需要在初始化或 WP_HEAD 上添加脚本,但是当我将代码放在函数上时它不起作用。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');
}
}
【问题讨论】:
标签: wordpress wordpress-theming