WordPress : wp_enqueue_scripts conduit à une erreur

Publié par Jean-Michel le

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

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *