web-dev-qa-db-fra.com

Le thème enfant ne charge pas le CSS parent

J'utilise le thème MyStile pour un nouveau site. J'essaie de créer un thème enfant pour que je puisse le modifier sans que mes modifications ne soient écrasées. Toutefois, une fois le thème enfant activé, tout le style semble aller du site Web dans son ensemble.
Je suppose que le problème se pose ici quelque part quand il appelle le fichier parent style.css .

Voici ce que j'ai dans le thème style.css de mon enfant.

   /*
 Theme Name:   Blurred Edge Apparel
 Theme URI:    http://www.blurrededgeapparel.com
 Description:  MyStile Child Theme
 Author:       Blurred Edge Apparel
 Author URI:   http://www.blurrededgeapparel.com
 Template:     mystile
 Version:      1.0.0
*/


@import url("../mystile/style.css");

J'ai également copié dans header.php et footer.php à partir du répertoire de thème des parents, mais toujours pas de joie.
Est-ce que j'ai râté quelque chose?

1
Toby Cannon

Jetez un coup d’œil à Comment créer un thème pour enfants et vous verrez que:

la méthode précédente pour mettre en file d'attente la feuille de style parent consistait à importer la feuille de style du thème parent à l'aide de @import: cette pratique n'est plus recommandée. La méthode correcte pour mettre la feuille de style du thème parent en file d'attente consiste à ajouter une action wp_enqueue_scripts et à utiliser wp_enqueue_style () dans le functions.php de votre thème enfant.

Voici l'exemple fourni:

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
4
d79

Le thème mystile est un thème de 3 ans qui n'est pas simplement prêt à être utilisé comme style parent car le style enfant est fixé dans header.php au mauvais endroit

le moyen le plus rapide de corriger cela est de mettre ces fichiers dans le répertoire child-theme:

  • fichier style.css :

.

/*
Template: mystile
*/
  • file child-style.css : toutes les règles CSS que vous souhaitez appliquer
  • fichier functions.php :

.

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );

    wp_enqueue_style( 'child-style'
        , get_stylesheet_directory_uri() . '/child-style.css'
        , array('parent-style') // declare the dependency
                                // in order to load child-style after parent-style
    );
}
0
mmm