Charger proprement vos scripts Javascript dans WordPress

scripts-JS
WordPress Lecture 4 minutes • 30 avril 2014

php_code
Cet article vous sera d'une grande aide pour comprendre comment WordPress interprète les scripts JavaScript et enfin les faire fonctionner correctement.

Dans quel cas êtes vous ?

Cas n°1 : Vous souhaitez ajouter des scripts JavaScript à votre site WordPress.

Cas n°2 :  Après intégration de votre site sous WordPress, JavaScript ne semble plus se charger.

Vous avez créé votre site en HTML/CSS et vous avez lié tout les scripts JavaScript dans votre page et tout fonctionnait bien avant l'intégration dans WordpPess.
Mais maintenant que vous avez intégré votre code dans un template de page PHP pour WordPress, vos scripts JavaScript ne fonctionnent plus.

WordPress intègre déjà une bibliothèque jQuery

Sachez d'abord que WordPress intègre d'origine une version de jQuery. Elle est stockée dans "../wp-includes/js/jquery/jquery.js"
Il est donc inutile de demander à WordPress de charger une bibliothèque jQuery dans votre page PHP, en ajoutant une ligne de code que ce soit dans le header ou dans le footer.
 

L'erreur à éviter : charger la librairie jQuery et les scripts JavaScript dans le template de page

Exemple (à ne pas suivre) :

<?php /*Template Name: Ma page*/ ?>

<?php get_header(); ?>

....le contenu de votre page....
<?php get_footer();>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
// Appel de la bibliothèque jQuery

<script type="text/javascript" src="js/bootstrap.js"></script>
//Exécution de notre premier script JS

<script type="text/javascript" src="js/jquery.mobile.customized.min.js"></script>
//Exécution de notre deuxième script JS

Dans cet exemple on demande le chargement de la bibliothèque jQuery en ligne version 1.8.2, puis l’exécution de nos 2 scripts "bootstrap.js" et "jquery.mobile.customized.min.js". Ces derniers étant dans le dossier nommé /js/.
WordPress ne comprendra pas ce code qui pourtant fonctionne sur votre site en HTML/CSS !
 

La solution : charger proprement les scripts JS dans votre fichier "functions.php"

Pour cela, il faut utiliser la fonction enqueue_script. Voila l'exemple à suivre :

// enqueue javascript

function theme_js(){

wp_enqueue_script( 'bootstrap',
get_template_directory_uri() . '/js/bootstrap.js',
array() );

wp_enqueue_script( 'jquery-mobile-customized-min',
get_template_directory_uri() . '/js/jquery.mobile.customized.min.js',
array() );

}

add_action( 'wp_footer', 'theme_js' );
enqueue_script est la solution à utiliser

 
Insérer ce code dans le fichier functions.php de votre thème enfant et adaptez-le à votre besoin.
Il faut appeler chaque fichier JavaScript via la méthode "enqueue_script" de WordPress.

  • On créé une fonction (theme_js par exemple)
  • On charge les scripts JS via le code "wp_enqueue_script"
  • On attribue un nom à chaque script (ex: bootstrap)
  • On précise le chemin qui mène à notre fichier JavaScript (ex: get_template_directory_uri() . '/js/bootstrap.js')
  • Laisser "array()" par défaut
  • "add_action" demande l'exécution des scripts chargés
  • "wp_footer" précise que les scripts seront chargés dans le footer de notre page
  • "theme_js" précise quelle fonction est a exécuter. En l’occurrence notre "function theme_js()"

Pour plus d'information sur le chargement des scripts JS sur WordPress et la fonction enqueue_script, rendez-vous sur le codex de WordPress : Function Reference/wp_enqueue_script
 
Cet article vous a plus ? Dîtes-le en commentaire et rejoignez-nous sur Facebook pour partager d’autres astuces et tutoriels gratuits !


Avis clients

Tibow Webdesign

Tous les avis

Charlotte Séjourné - Wildust.com 10 septembre 2021

Google Avis
Thibaut est une personne super disponible et très pro.
Chaque projet confié a été géré avec beaucoup de professionnalisme et pas mal de pédagogie pour les néophytes comme moi! C'est super appréciable.

Maud Rochais Photographe 26 août 2021

Google Avis
Thibault a répondu a mes attentes ! Il est à l'écoute et a su cerner rapidement ce que je voulais en terme de site. Le résultat est parfait ! Merci à toi !

Loïc Perrière 6 janvier 2021

Ingénieur de recherches - CNRS / Recommandation LinkedIn
Lors du démarrage de projet de refonte du site web de mon laboratoire, j’ai contacté Thibaut pour obtenir des renseignements sur un travail qu’il avait déjà réalisé auprès d’un autre client.
Sa franchise et la clarté de ses réponses m’ont finalement convaincu de lui confier la conception de deux sites internet. Nos échanges ont toujours été constructifs, et Thibaut a fait preuve, tout au long du développement, de dynamisme et de réactivité, et a également réalisé de nombreuses propositions qui ont majoritairement été retenues. Enfin, il a su faire preuve d’écoute pour intégrer les problématiques et les demandes spécifiques d’un site internet de laboratoire public pour créer un site à notre image.
La collaboration a été fructueuse et constructive, et ça a été un réel plaisir de travailler avec lui.

Clara Deleuze 21 décembre 2020

Principal Chief Executive Officer chez On Divorce / Recommandation LinkedIn
Je collabore avec Thibault depuis plus de 10 ans.
Plus qu'un dev Full Stack c'est un profil au sens logique qui sera vous accompagner plus globalement sur votre projet IT.
Je lui ai confié plus de 5 projets et vous le recommande vivement : réactivité, sens du détail, proactivité...Il sait s'adapter "au métier" pour lequel il intervient et pas uniquement à la fonctionnalité !

Ackeret Mano 22 février 2019

Google Avis
Nous avons fait appel à Thibaut pour développer le site internet de notre entreprise Ackeret Mano, l'année dernière et nous avons été très satisfaits.

C'est un garçon à l'écoute, disponible et sérieux.
Nous vous le recommandons les yeux fermés.

Frédéric Meyrou 19 octobre 2018

Google Avis
Thibaut a repris en main le site du projet de coopérative supercoop.fr et il a parfaitement compris le style et l'énergie qu'il fallait donner au projet donc le site est un vecteur important de communication. Vous pouvez lui faire confiance!

Patrick Chatenet 24 juin 2018

Google Avis
Nous avons travaillé avec Thibaut Soufflet pour finaliser un site Wordpress fait par une autre personne qui était partie vers d'autres horizons professionnels. Il s'est parfaitement adapté, nous a bien écouté et a proposé de très bonnes solutions en termes d'ergonomie et de facilité d'utilisation pour nos clients. A eu à régler des problèmes techniques et a pris le temps de nous trouver les meilleures solutions. Je le conseille vivement!

Anaelle Sorignet 21 mai 2018

Google Avis
Tibow est super efficace, réactif et à l'écoute ! Il nous a concocté un super site. Je recommande vivement de faire appel à lui.

ISOPROM 15 avril 2018

Google Avis
donne de tres bons conseils

Alexis Supiot 5 septembre 2017

Google Avis
Plusieurs projets avec Thibaut et à chaque fois de bons échanges, une facilité dans la compréhension de nos attentes et pour l'ensemble des résultats très satisfaisants sur le rendu. Je recommande vivement et sais que nous aurons d'autres projets ensemble.
Lire plus