web-dev-qa-db-fra.com

Scripts de plugins Wordpress en dessous de tous les autres JS

Je développe une application Wordpress simple, mais j'ai un problème car tous les scripts de plug-in sont rendus avant ceux qui sont mis en file d'attente dans mon functions.php.

Voici un exemple de section du functions.php:

function my_scripts() {
    wp_register_script('app-js', get_template_directory_uri() . '/javascripts/app.js', array('jquery'), null, true );
    wp_enqueue_script('app-js');
}
add_action( 'wp_enqueue_scripts', 'my_scripts');

Ce qu’il importe de noter, c’est que (conformément aux meilleures pratiques, mon JS est configuré pour être affiché au bas de la page.

J'ai aussi quelques plugins fonctionnant sur le thème. Le problème est que la sortie ressemble à ceci:

<!-- Note the plugin appears first -->
<script type='text/javascript' src='http://localhost/wordpress/wp-content/plugins/my-plugin/acl-plugin.js'></script>
<!-- And the main JS appears second -->
<script type='text/javascript' src='http://localhost/wordpress/wp-content/themes/my-theme/javascripts/app.js'></script>
</body>
</html>

Comment puis-je forcer Wordpress à afficher le JS principal (que je pense est rendu par wp_head()) pour apparaître au-dessus des scripts du plugin? De cette façon, les plugins peuvent faire référence à des fonctions JS qui se trouvent dans le thème principal.

1
Sheixt

Essayez d’utiliser/d’ajouter le paramètre prioritaire du hook pour app.js et de voir s’il fonctionne.

add_action( 'wp_enqueue_scripts', 'my_scripts', 1 );

Par défaut, il est 10, alors appelons-le tôt et voyons si cela vous convient

3
Maruti Mohanty