WordPress : J’ai créé un thème enfant et cela ne fonctionne pas pour certains fichiers CSS

Publié par Jean-Michel le

J’ai un template avec 4 fichiers css : rtl.css, style.css, main.css, bootstrap.css.

rtl.csset style.cssse trouvent à la racine de mon modèle, par exemple :
my_template_root/style.css.

main.csset bootstrap.csssont situés, par exemple :
my_template_root/assets/stylesheet/main.css

functions.phpcode est :

add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_directory_directory_uri() . 'style.css' );
}

Ce functions.phpcode s’applique correctement uniquement pour rtl.csset style.cssmais mes modifications dans main.csset bootstrap.cssne fonctionnent pas de toute façon.

Solution n°1 trouvée

Vous appelez vos fichiers CSS avec une mauvaise fonction comme dans la ligne suivante de votre code

wp_enqueue_style( 'parent-style', get_directory_directory_uri() . 'style.css' );

Vous utilisez get_directory_directory_uri()une fonction pour appeler des fichiers qui n’est pas une fonction dans wordpress.

Les fichiers doivent être appelés avec l’une des deux fonctions suivantes

  1. get_stylesheet_directory_uri() : Cette fonction recherchera les fichiers dans le dossier de votre thème actif. Par thème actif, on entend un thème activé par l’utilisateur à partir de dashboard -> appearace -> theme. Dans votre cas, le thème enfant est actif, il recherchera donc un fichier dans le dossier de votre thème enfant.

  2. get_template_directory_uri() : Cette fonction recherchera les fichiers dans le dossier de votre thème parent.

Si vos fichiers sont présents dans le dossier du thème enfant, ajoutez ce code functions.phppour appeler vos fichiers CSS

add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_stylesheet_uri() );   //It will call your style.css file
    wp_enqueue_style( 'style1', get_stylesheeet_directory_uri() . '/rtl.css' );
    wp_enqueue_style( 'style2', get_stylesheeet_directory_uri() . '/assets/stylesheet/main.css' );
    wp_enqueue_style( 'style3', get_stylesheeet_directory_uri() . '/assets/stylesheet/bootstrap.css' );
}

Dans le code ci-dessus parent-style, style1, , style2, style1sont le nom d’attribution de l’utilisateur et ce nom doit être unique. Et sur une seule ligne, un seul fichier sera appelé, donc si vous voulez appeler 4 fichiers, vous devez spécifier le chemin de tous les fichiers sur différentes lignes.

Remarque : Si vos fichiers sont présents dans le thème parent, vous devez les remplacer get_stylesheeet_directory_uripar get_template_directory_uridans le code ci-dessus.

Pour plus de détails, lisez cet article.

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 *