web-dev-qa-db-fra.com

Comment mettre en file d'attente un style en utilisant wp_enqueue_scripts ()?

J'ai du mal à charger le chemin correctement dans une fonction de mise en file d'attente.

Ce que je cherche à faire est de charger une feuille de style CSS spécifique sur une page spécifique ...

La procédure ci-dessous fonctionne en ajoutant le chemin d'accès au balisage sur le bon modèle, mais le chemin est incorrect ...

 add_action('wp_enqueue_scripts','homepage');
  function homepage(){
    if ( is_page_template('page-home.php') ) {
      wp_enqueue_style('home-css', array(), '1.0.0', true );
      get_template_directory_uri() . '/css/flags.min.css',
    }
  }

La raison en est que (je crois) que le chemin n’est pas défini correctement pour trouver le dossier css approprié ...

Le php manque donc de cette ligne:

get_template_directory_uri() . '/css/flags.min.css',

Ma question est - comment puis-je ajouter cette ligne qui localise le dossier css de thème? J'ai essayé le ci-dessous mais cela n'a pas fonctionné ...

 add_action('wp_enqueue_scripts','homepage');
  function homepage(){
   if ( is_page_template('page-home.php') ) {
      wp_enqueue_style('home-css', array(), '1.0.0', true );
      get_template_directory_uri() . '/css/flags.min.css',
    }
   }
1
henry

Le second paramètre de wp_enqueue_style() est un chemin facultatif. Vous transmettez un tableau vide qui ne mettra rien en file d'attente.

get_template_directory_uri() récupère l'URI racine du thème actuel, que vous pouvez utiliser dans wp_enqueue_style():

 add_action('wp_enqueue_scripts','homepage');
  function homepage(){
   if ( is_page_template('page-home.php') ) {
      wp_enqueue_style('home-css', get_template_directory_uri() . '/css/flags.min.css', '1.0.0', true );
    }
   }

J'ai mentionné "Facultatif" , car il existe aussi un autre moyen d'utiliser wp_enqueue_style. Dans cette méthode, vous pouvez d’abord utiliser wp_register_style, puis le mettre en file d'attente:

wp_register_style( 'home-css', get_template_directory_uri() . '/css/flags.min.css' );
wp_enqueue_style('home-css');

La même chose fonctionne pour wp_enqueue_script().

En vous basant sur l’utilisation du thème parent ou de l’enfant, vous pouvez également jeter un coup d’œil à get_stylesheet_directory_uri() .

3
Jack Johansson