J'essaie de mettre en file d'attente un fichier JS (situé dans /js/example-script.js) uniquement pour obtenir une alerte lors du chargement de la page.
Quelqu'un peut-il me dire ce que je fais mal?
Dans mon exemple-script.js:
jQuery(document).ready(function($) {
alert("hi");
});
Et dans mon fichier de fonctions:
function my_theme_scripts() {
wp_enqueue_script( 'example-script', get_template_directory_uri() . '/js/example-script.js', array( 'jquery' ), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );
jQuery est chargé dans mes sources, alors ce n'est pas le problème ...
Utilisez-vous un thème pour enfants? Dans ce cas, vous devez utiliser get_stylesheet_directory_uri()
au lieu de get_stylesheet_template_uri()
qui renvoie le thème parent uri https://developer.wordpress.org/reference/functions/get_template_directory/#usage
Je recommanderais d'utiliser wp_enqueue_script avec get_theme_file_uri ceci permet aux thèmes enfants de remplacer ce fichier.
fonction get_theme_file_uri ()
Recherche dans le répertoire de la feuille de style avant le répertoire du modèle afin que les thèmes hérités d'un thème parent puissent simplement remplacer un fichier.
wp_enqueue_script( 'example-script', get_theme_file_uri( '/js/example-script.js' ), array('jquery'), null, true );
wp_enqueue_script( 'example-script', plugins_url('/js/example-script.js', __FILE__), array(), null );
Toutes les réponses sont correctes - dans mon cas, je l'avais bien fait, mais je n'avais pas chargé le WP Footer, malgré l'affichage de jQuery dans mes sources. Dès que j'ai ajouté à get_footer (), tout a bien fonctionné.