web-dev-qa-db-fra.com

Fichiers de thème enfant - que faut-il?

Sur thèmes enfants : Il est indiqué:

... créer un fichier appelé style.css. Il s’agit du fichier uniquement requis pour créer un thème enfant.

Ensuite, il est écrit:

La méthode correcte pour importer la feuille de style des thèmes parents dans le thème enfant consiste à utiliser wp_enqueue_style() dans le fichier "functions.php" de votre thème enfant:

<?php
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style')  );
}

Donc, apparemment, j'ai aussi besoin d'un functions.php chez l'enfant? Au début, je pensais que cette fonction devait entrer dans style.css, mais cela ne semble pas raisonnable.

Que se passe-t-il si je n'inclue pas le fichier functions.php - style.css créera-t-il un thème enfant (ressemblant au premier à son parent)?

1
user62269

Oui, vous devrez mettre en file d'attente les styles de thème parent dans un thème enfant. L'ajout de style.css dans le thème enfant n'ajoutera pas non plus automatiquement les styles du thème parent.

Vous pouvez mettre en file d'attente les styles de thème parent comme ceci. Créez un nouveau functions.php dans le thème enfant et collez-le.

function enqueue_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style')  );
}
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
1
Robert hue

Vous pouvez, à proprement parler, créer un thème enfant avec juste une feuille de style. Pour ce faire, vous devez importer la feuille de style parent dans la feuille de style enfant à l'aide de la méthode @import.

Cela devrait toutefois être évité en raison des temps de chargement des pages pour un. @import a un impact négatif sur le temps de chargement de la page. Vous devriez aller lire ce post sur SO

La méthode correcte consiste à créer un fichier de fonctions, puis à mettre en file d'attente la feuille de style parent comme vous l'avez indiqué correctement. Je mettrai à jour plus tard la page du codex avec cette information pour le bénéfice des autres.

Juste sur votre dernière question, si vous n'importez/enregistrez pas la feuille de style parent dans le thème enfant, votre site n'aura aucun style, à l'exception du style que vous avez ajouté dans la feuille de style du thème enfant.

MODIFIER

J'ai mis à jour la page de codex du thème enfant et supprimé le fait que vous n'avez besoin que de la feuille de style pour faire fonctionner un thème enfant.

0
Pieter Goosen