web-dev-qa-db-fra.com

Comment changer l'ordre de Jquery dans le pied de page de mon thème?

Au sommet de mon functions.php est ce code:

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');

Donc - si vous regardez le code jquery est chargé dans le thème et, si je change la variable en 'true', le script est chargé dans le pied de page. Le problème est que si je le règle sur "vrai", WordPress place le script jquery au bas absolu du dossier (c'est-à-dire le dernier script à charger).

J'en ai besoin pour être au dessus du reste de mon Javascript ...

L'autre Javascript est chargé comme ceci:

 function Javascript123() {
   if ( is_page_template( array('template-name.php'))){
 ?>
   <script type="text/javascript"> XXX </script>
 <?php
  }
}
add_action( 'wp_footer', 'Javascript123' );

Ma question est la suivante: comment puis-je faire en sorte que le script ci-dessus se trouve au bas absolu (à côté de </ body> ou comment puis-je modifier l'ordre Jquery selon mes préférences? Merci pour toutes les instructions.

1
henry

Comprendre le paramètre de dépendance de wp_enqueue

Vous devez vous assurer que l'autre script dépend de la disponibilité de jQuery avant son chargement. Vérification de l'exemple d'utilisation de wp_enqueue:

<?php wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); ?>

C'est $deps (dépendances) que nous pouvons utiliser à cette fin.

Propre a mis en file d'attente le second script et exploité ce paramètre

Deuxièmement, vous devez utiliser la fonction enqueue pour charger conditionnellement le second script:

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');
}

Notez la array('jquery') qui arrête le chargement de ce script avant que jQuery soit prêt.

0
mayersdesign