J'ai créé une structure de fichier dans le même format que mon thème parent. Mon thème parent s'appelle Alpine. Dans Alpine, il existe un fichier functions.php et style.css. Il ne semble pas y avoir de fichier style.css supplémentaire.
J'ai créé un répertoire appelé Alpine-child et créé un fichier functions.php et style.css.
Je n'arrive pas à comprendre pourquoi les modifications que j'ai apportées au fichier style.css ne sont pas implémentées, mais elles le sont lorsque j'apporte les mêmes modifications dans parent.cit.
Ceci est mon style.css enfant:
/*
Theme Name: Alpine Child
Theme URI: http://www.creative-ispiration.com/wp/Alpine/
Description: My first child theme, based on Alpine
Author: MilkshakeThemes
Author URI: http://themeforest.net/user/milkshakethemes
Template: Alpine
Version: 1.0.0
Tags: one-column, two-columns, right-sidebar, fluid-layout, custom-menu, editor-style, featured-images, post-formats, rtl$
Text Domain: Alpine-child
*/
Voici le fichier functions.php de mon enfant:
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>
Jetez un coup d'œil à votre tag <head>
. Plus important encore, regardez l'ordre de vos feuilles de style.
Les styles de votre thème enfant sont ajoutés en premier, puis tous les styles de votre thème parent. Ainsi, les styles du thème parent remplaceront ceux de votre thème enfant.
Vous pouvez modifier la priorité de votre fonction my_theme_enqueue_styles
pour qu'elle soit exécutée après le parent en utilisant le troisième paramètre de add_action . Cela mettra en file d'attente vos styles de thème enfants en dernier et permettra au CSS de fonctionner comme prévu.
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles', 11 );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'child-style', get_stylesheet_uri() );
}
?>
Cela a fonctionné pour moi:
<?php
function my_theme_enqueue_styles() {
$parent_style = 'twentyseventeen-style';
$child-style = 'twentyseventeen-child-style';
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( $child-style, get_stylesheet_uri() );
}
?>
et aucune des autres réponses ne le fit.
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>
Vous devez mettre en file d'attente le thème enfant style.css
afin que votre fonction soit:
function my_theme_enqueue_styles() {
$parent_style = 'parent-style';
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme()->get('Version')
);
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
Jetez un coup d'œil à la documentation .