试图强制Wordpress在页脚中加载脚本

时间:2018-02-23 00:11:03

标签: wordpress gravity-forms-plugin

我试图强制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');

由于

2 个答案:

答案 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)仅针对首页。