如何更改我的主题页脚中jQuery的顺序?

时间:2017-08-15 作者:Henry

在我的功能顶部。php是以下代码:

function load_theme_scripts() {
// Load stylesheets.
wp_enqueue_style(\'bootstrap\', get_template_directory_uri() . \'/css/bootstrap.min.css\', array(), \'3.3.5\');

// Load our main stylesheet.
wp_enqueue_style(\'infosec conferences\', get_stylesheet_uri(), array(), \'1.0\');

//Load scripts
wp_enqueue_script(\'jquery-2\', get_template_directory_uri() . \'/js/jquery-2.1.1.min.js\', array(), \'2.1.1\', false); // was set to false
wp_enqueue_script(\'bootstrap\', get_template_directory_uri() . \'/js/bootstrap.min.js\', array(), \'20160101\', true);
}

 add_action(\'wp_enqueue_scripts\', \'load_theme_scripts\');
因此,如果您查看jquery加载到主题中的代码,如果我将变量更改为“true”,那么脚本将加载到页脚。问题是,如果我将其设置为“true”,WordPress会将jquery脚本放在文件夹的绝对底部(即最后要加载的脚本)。

我需要它高于我的Javascript的其余部分。。。

另一个Javascript的加载方式如下:

 function Javascript123() {
   if ( is_page_template( array(\'template-name.php\'))){
 ?>
   <script type="text/javascript"> XXX </script>
 <?php
  }
}
add_action( \'wp_footer\', \'Javascript123\' );
我的问题是-如何使上面的脚本位于绝对底部(在<;/body>旁边),或者如何使Jquery顺序符合我的偏好?感谢大家的指导。

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

Understand wp_enqueue\'s dependencies parameter

您需要确保另一个脚本取决于jQuery在加载之前是否准备就绪。检查wp\\U排队使用示例:

<?php wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); ?>
是的$deps (依赖性)我们可以用于此目的。

Properly enqueue the second script, and leverage that parameter

其次,应使用enqueue函数有条件地加载第二个脚本:

if ( is_page_template( array(\'template-name.php\'))){
 wp_register_script(\'xxx\', \'/path/to/script/xxx.js\', array(\'jquery\'),\'1.0\',true);
 wp_enqueue_script(\'xxx\');
}
请注意array(\'jquery\') 这将在jQuery准备就绪之前停止此脚本加载。

结束

相关推荐

WordPress现在不加载JQuery了吗?我也需要让JQuery入队吗?

在我的HTML中,我正在加载JQuery, 但在将HTML转换为Wordpress. 因为我认为WP会自动加载它。然而,有一种习俗。js位于js文件夹中,我正在尝试这样加载它→if ( ! function_exists( \'puck_scripts\' ) ) { function puck_scripts() { // Register the script like this for a theme: wp_register_script( \'custo