我试图强制WordPress在我主题的wp_footer()区域加载一些JS。到目前为止,它将它们加载到页脚和头标签上。关于为什么的任何想法?
function move_scripts() {
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery','https://code.jquery.com/jquery-1.8.3.min.js', false, '1.8.3');
wp_register_script('migrate','https://code.jquery.com/jquery-migrate-1.4.1.min.js', false, '1.4.1');
wp_enqueue_script('jquery');
wp_enqueue_script('migrate');
wp_enqueue_script('gravity','/wp-content/plugins/gravityforms/js/gravityforms.min.js','','',true);
wp_enqueue_script('conditional','/wp-content/plugins/gravityforms/js/conditional_logic.min.js','','',true);
wp_enqueue_script('masked','/wpcontent/plugins/gravityforms/js/jquery.maskedinput.min.js','','',true);
}
}
add_action('wp_enqueue_scripts', 'move_scripts');
由于
答案 0 :(得分:1)
/************************************************************************************************************/
/* Move js to footer */
/************************************************************************************************************/
function remove_head_scripts() {
remove_action('wp_head', 'wp_print_scripts');
remove_action('wp_head', 'wp_print_head_scripts', 9);
remove_action('wp_head', 'wp_enqueue_scripts', 1);
add_action('wp_footer', 'wp_print_scripts', 5);
add_action('wp_footer', 'wp_enqueue_scripts', 5);
add_action('wp_footer', 'wp_print_head_scripts', 5);
}
add_action( 'wp_enqueue_scripts', 'remove_head_scripts' );
答案 1 :(得分:0)
如果您正在使用Gravity Forms插件(并且已激活),则插件本身可能已经加载了其中一些脚本。通常使用插件,您无需将它们添加到主题的functions.php中。
如果你的move_scripts()正常工作(看起来像我应该这样),你就会在页脚中包含另一个副本。这可以解释你的问题。
您可以尝试停用插件(在WP Admin中),看看脚本现在是否只在页脚中加载,或者您可以注释add_action行,并查看脚本是否仅加载到标题中。
希望它有所帮助...
P.S。我想你不需要!is_admin检查。要在管理员中加载脚本,这是一个不同的操作(admin_enqueue_scripts)。此函数(wp_enqueue_script)仅针对首页。