J'utilise le thème HashOne et j'ai créé un thème pour enfants afin d'apporter diverses modifications de couleur à notre site Web.
Toutefois, les modifications que j'ai apportées à la feuille de style de thème enfant ne se produisent que dans certaines sections du site, tandis que d'autres modifications sont reportées au thème parent. J'ai créé un fichier functions.php
qui, à mon avis, est correctement formaté. Voir ci-dessous:
<?php
add_action( 'wp_enqueue_scripts', 'hashone_enqueue_styles' );
function hashone_enqueue_styles() {
wp_enqueue_style( 'hashone-parent-style', get_template_directory_uri() .
'/style.css' );
}
Lorsque j'ai utilisé le mode Inspecter pour voir quel CSS remplaçait le thème enfant, j'ai pu confirmer qu'il s'agissait bien du thème parent. Cependant, trois fichiers CSS fonctionnent en même temps et je ne sais pas comment remédier à cela.
stage.ottrial.pitt.edu/wp-content/themes/hashone/style.css?ver=4.7.1
stage.ottrial.pitt.edu/wp-content/themes/hashone-theme-child/style.css?ver=1.0
stage.ottrial.pitt.edu/wp-content/themes/hashone/style.css
Celui qui mène le peloton est le n ° 3. Je ne suis pas sûr de ce que je fais mal ici.
Il n'y a pas besoin de plus de code dans votre fichier functions.php pour mettre en file d'attente le css de thèmes parent à partir de votre thème enfant. Le problème est qu'en ajoutant ce code, vous mettez en file d'attente le code CSS du thème parent une seconde fois, mais il se charge maintenant après le thème enfant. Cela signifie que toutes les modifications apportées au thème de l'enfant n'auront aucun effet.
Supprimez simplement cette ligne et vous devriez voir les changements dans votre thème enfant.
Ajouté: Voici les deux fichiers que j'ai utilisés avec uniquement les bases pour mettre correctement en file d'attente le thème enfant css.
fichier style.css:
/*
* Theme Name: HashOne Child
* Template: hashone
* Text Domain: hashone-chile
*/
fichier functions.php:
<?php
add_action( 'wp_enqueue_scripts', function() {
wp_enqueue_style( 'hashone-parent-style', get_template_directory_uri() . '/style.css' );
});
Vous n'avez pas besoin de charger la feuille de style de votre thème enfant sauf si vous souhaitez lui attribuer un libellé différent de style.css
.
Par défaut, WordPress charge automatiquement style.css
(dans le répertoire racine du thème) du thème parent et du thème enfant.
Assurez-vous que votre thème enfant est activé et ajoutez votre code CSS au style.css
du thème enfant.
Veillez à utiliser inspecteur pour identifier facilement les règles CSS. Redéfinir les règles CSS du thème parent peut parfois être délicat. L'utilisation de !important
peut aider à remplacer certaines des règles CSS dans le thème parent.
Exemple d'utilisation de !important
en CSS
Disons que le thème parent définit cette règle:
#site-title {
color: #000000;
background: #ffffff;
}
Vous pouvez forcer le remplacement de cette règle dans votre thème enfant de la manière suivante:
#site-title {
color: #ffffff !important;
background: #000000 !important;
}
Gardez à l'esprit le nouveau quatro à partir de WP 4.7:
get_theme_file_uri()
get_parent_theme_file_uri()
get_theme_file_path()
get_parent_theme_file_path()
est venu remplacer la vieille quatro:
get_stylesheet_directory_uri()
get_template_directory_uri()
get_stylesheet_directory()
get_template_directory()
Dans l'ordre respectif. Le gain est la meilleure convention d'appellation.