web-dev-qa-db-fra.com

Le thème enfant n'utilise pas le thème parent css/styles/formatage?

Je fais un thème enfant simple du thème "Grow Minimal" .

J'ai créé un dossier, grow-minimal-child et ajouté functions.php et style.css:

functions.php:

function my_theme_enqueue_styles() {

    $parent_style = 'grow-thinkup-style-minimal'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.
    wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
    wp_enqueue_style('thinkup-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' );

et style.css:

/*
Theme Name: Grow Minimal Child
Theme URI: https://www.thinkupthemes.com/free/grow/
Author: Think Up Themes
Author URI: https://www.thinkupthemes.com
Description: Created for customizing...
Template: grow
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, two-columns, three-columns, right-sidebar, left-sidebar, custom-header, custom-menu, full-width-template, theme-options, threaded-comments, editor-style, featured-images, featured-image-header, post-formats, sticky-post, translation-ready, flexible-header, custom-background, grid-layout, footer-widgets, blog, e-commerce, portfolio, rtl-language-support
Text Domain: grow-minimal-child
*/

Donc, si vous voyez, je n'ai pas vraiment ajouté de CSS. Cependant, maintenant que j'active ce thème pour enfants et que je visite le site, il semble un peu différent. Comme si le CSS parent était complètement négligé. J'ai aussi essayé d'utiliser $parent_style = 'parent-style', $parent_style = 'thinkup-style'.

Voici le dossier functions.php à l'intérieur de Grow-minimal:

function grow_thinkup_child_frontscripts() {

    wp_enqueue_style( 'thinkup-style', get_template_directory_uri() . '/style.css', array( 'thinkup-bootstrap' ) );
    wp_enqueue_style( 'grow-thinkup-style-minimal', get_stylesheet_directory_uri() . '/style.css', array( 'thinkup-style' ), wp_get_theme()->get('Version') );
}
add_action( 'wp_enqueue_scripts', 'grow_thinkup_child_frontscripts' );

Lorsque je remets mon thème en Grow Minimal, le site a l'apparence attendue.

Où le css va-t-il mal (ou plus probablement, où est-ce que je ne mets pas à jour ni ne relie l'enfant au parent)?

1
BruceWayne

Le thème que vous essayez d'utiliser en tant que parent, Grow Minimal , est un thème enfant du thème Grow. . Il n'est pas possible de créer un thème enfant d'un autre thème enfant sans écrire de solution de contournement de code personnalisé.

Dans votre code, ces deux lignes font la même chose deux fois:

wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style('thinkup-style', get_template_directory_uri() . '/style.css');

Ils mettent en file d'attente la feuille de style du thème parent, Grow. Le thème Grow Minimal est ignoré. Cette question fournit davantage de contexte sur les problèmes liés aux thèmes de petits-enfants.

Dans ce cas, la meilleure pratique consiste simplement à ajouter vos styles personnalisés ou votre code de modèle directement au thème enfant standard (Grow Minimal), en le convertissant efficacement en un thème personnalisé. Vous pourrez toujours appliquer les mises à jour au thème parent non modifié sans perdre vos personnalisations.

2
Zane