WordPress : is_page_template() ne fonctionne pas dans functions.php

Publié par Jean-Michel le

J’ai donc un script que j’aimerais inclure uniquement dans un fichier de modèle. Le fichier de modèle se trouve dans un dossier appelé modèles dans mon thème enfant. J’ai pensé que je pouvais le faire en incluant une instruction if dans functions.php et en ciblant le fichier de modèle par son nom comme suit :

function header_anim() {
wp_enqueue_script( 'head', get_stylesheet_directory_uri() . '/js/head.js' );
}

if( is_page_template( '/templates/home-template.php' )) {
    add_action( 'wp_enqueue_scripts', 'header_anim' );
}

Cependant, il semble qu’il ne reconnaisse pas l’instruction if pour une raison quelconque.

Solution n°1 trouvée

Hmmm, que diriez-vous de cela. Essayons de faire le conditionnement un peu différemment… Avez-vous une autre fonction qui charge un autre script pour le reste de vos modèles/pages ? Si c’est le cas, nous pouvons les combiner en une seule fonction, et j’espère que cela fonctionnera …

function equeue_scripts_header () {
  if( is_page_template( '/templates/home-template.php' )){
      wp_enqueue_script( 'head', get_stylesheet_directory_uri() . '/js/head.js' );
  }
  else {
    /*call enqueue script for that corresponds to the rest of the      site */
  }
}
add_action( 'wp_enqueue_scripts', 'equeue_scripts_header' );

J’espère que je n’ai pas simplement ajouté une autre itération que vous avez déjà essayée. Faites-moi savoir comment celui-ci fonctionne…

Solution n°2 trouvée

Comment ça va? Une chose que j’ai faite avec mes feuilles de style pourrait éventuellement fonctionner avec ce script. Structure l’instruction if dans la fonction qui appelle le wp_enqueue_script et utilise la condition if not than return. Par exemple:

function header_anim() {
  if( !is_page_template( '/templates/home-template.php' )){
    return;
  }
  wp_enqueue_script( 'head', get_stylesheet_directory_uri() . '/js/head.js' );
}
add_action( 'wp_enqueue_scripts', 'header_anim' );

Laissez-moi savoir si cela fonctionne pour vous….

Plus tard, Jus

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 *