web-dev-qa-db-fra.com

Wordpress enfant theme style.css ne fonctionne pas

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' );
}
?>

6
Gavin Reynoldson

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() );
}
?>
8
Jrod

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.

3
Craig Hicks

<?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' );
}
?>

0
Vikash Kumar

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 .

0
Avag Sargsyan