WordPress : wp_enqueue_scripts conduit à une erreur
J’ajoute un fichier javascript en me connectant à wp_enqueue_scripts(). Voici le code :
function order_tracking() {
global $post;
if ( $post->ID == 19851 ) {
wp_enqueue_script('ordertracking', get_template_directory_uri(), array('jquery') ,'1.0', true );
}
}
add_action( 'wp_enqueue_scripts', 'order_tracking' );
Le fichier javascript contient un code simple :
/**
* test javascript function
*/
jQuery(document).ready(function() {
console.log('loaded');
jQuery("#ordertrackingsubmit").on("click", function (e) {
var quotenum = jQuery("#quotenum").val();
console.log(quotenum);
});
});
Mais je vois des erreurs. Sur la console Google Chrome, il est écrit ceci :
Uncaught SyntaxError: Unexpected token '<' ?ver=1.0:1
Un l’onglet sources, il dit ce qui suit:
<br />
<b>Fatal error</b>: Uncaught Error: Call to undefined function genesis() in /home/skirting/public_html/alcocovers.com/wp-content/themes/genesis/index.php:15
Stack trace:
#0 {main}
thrown in <b>/home/skirting/public_html/alcocovers.com/wp-content/themes/genesis/index.php</b> on line <b>15</b><br />
Quelqu’un peut-il me dire ce que je fais mal? Lorsque j’ajoute le code directement dans footer.php
le code fonctionne.
Solution n°1 trouvée
J’utilisais un thème enfant Genesis, j’ai donc dû modifier order_tracking()
un peu ma fonction. get_template_directory_uri()
donne l’URL du thème enfant actuel , en combinant cela avec le nom de fichier javascript a fait l’affaire.
Voici ce qui l’a fait fonctionner :
function order_tracking() {
global $post;
if ( $post->ID == 19851 ) {
wp_enqueue_script('ordertracking', get_template_directory_uri(). "/ordertracking.js", array('jquery') ,'1.0', true );
}
}
add_action( 'wp_enqueue_scripts', 'order_tracking' );
0 commentaire