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.

Lire également:  Ajouter des menus personnalisés 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.

Lire également:  Wordpress : Pourquoi l'ajout d'un fichier modèle à un thème enfant provoquerait-il une erreur dans template-loader.php ?

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.

Lire également:  Wordpress : Plusieurs do_shortcode($content) dans un shortcode

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 *