Deux dossiers voisins dans wp-content/themes/, chacun avec son propre style.css, peuvent sembler parfaitement indépendants l’un de l’autre. Pourtant, l’un hérite réellement des gabarits, des fonctions et des réglages de l’autre, sans qu’aucune configuration visible dans l’administration ne le signale explicitement. Toute la mécanique d’héritage entre un thème enfant et son thème parent repose sur une seule ligne, placée dans l’en-tête du fichier style.css du thème enfant.
Comprendre précisément ce que WordPress vérifie à cet endroit évite des erreurs fréquentes, notamment quand un thème parent est renommé ou déplacé, ou quand un développeur tente de créer un thème enfant à partir d’un thème dont le nom de dossier diffère du nom affiché dans l’administration.
Le champ Template, et rien d’autre, crée la relation
Dans l’en-tête du fichier style.css d’un thème enfant, le champ Template indique à WordPress quel thème parent utiliser :
/*
Theme Name: Mon thème enfant
Template: twentytwentyone
*/
Ce champ, et lui seul, déclenche tout le mécanisme d’héritage : chargement de la feuille de style du parent avant celle de l’enfant, résolution des gabarits de l’enfant en priorité avec repli automatique vers ceux du parent, et disponibilité des fonctions déclarées dans le functions.php du parent, chargé avant celui de l’enfant.
Une valeur qui doit correspondre exactement au nom du dossier, pas au nom affiché
L’erreur la plus fréquente consiste à indiquer le nom affiché du thème parent dans l’administration (« Twenty Twenty-One ») plutôt que le nom exact de son dossier sur le serveur (twentytwentyone). WordPress compare la valeur du champ Template au nom du répertoire situé dans wp-content/themes/, sans tenir compte de la casse d’affichage ni du nom lisible défini par le champ Theme Name du parent. Si la valeur ne correspond à aucun dossier existant, WordPress signale le thème enfant comme cassé, avec une erreur explicite dans l’écran de gestion des thèmes.

Ce que WordPress fait concrètement de cette information
Une fois le champ Template renseigné, deux constantes deviennent disponibles pour le développeur : get_template_directory() renvoie le chemin absolu du thème parent, tandis que get_stylesheet_directory() renvoie celui du thème enfant. La résolution des gabarits par locate_template(), appelée en interne par des fonctions comme get_header() ou get_template_part(), cherche d’abord dans le dossier de l’enfant, puis se replie sur celui du parent si le fichier n’y existe pas.
Un thème sans ce champ n’est jamais un thème enfant, même s’il en a l’apparence
Un dossier qui copie certains fichiers d’un autre thème, sans déclarer de champ Template, reste un thème totalement indépendant aux yeux de WordPress, même si son code ressemble à s’y méprendre à celui d’un thème enfant classique. Sans ce champ, aucune feuille de style du parent n’est chargée automatiquement, et aucune fonction du parent n’est disponible sans un appel explicite à require ou include dans le functions.php de ce thème.
Un thème enfant qui semble ne plus hériter de rien après un renommage de dossier a, dans l’immense majorité des cas, un champ Template qui ne correspond plus au nom exact du répertoire parent.
Vérifier la relation depuis l’administration
L’écran Apparence > Thèmes affiche la mention « Thème enfant de : » directement sur la vignette d’un thème correctement rattaché à son parent. L’absence de cette mention, alors qu’un champ Template est pourtant présent dans le fichier, indique presque toujours une faute de frappe ou une différence de casse entre la valeur du champ et le nom réel du dossier.
- Vérifier le nom exact du dossier du thème parent avec un accès FTP ou SSH, pas seulement son nom affiché.
- Ne jamais renommer un dossier de thème parent sans mettre à jour tous les thèmes enfants qui en dépendent.
- Tester la relation sur un environnement de développement avant tout renommage en production.
En résumé
L’héritage entre un thème enfant et son thème parent ne tient qu’à un seul champ d’en-tête, comparé au nom exact du dossier sur le serveur. Cette simplicité est aussi ce qui rend l’erreur facile à commettre : un renommage de dossier, une faute de casse, ou une confusion entre nom affiché et nom de répertoire suffisent à rompre silencieusement toute la relation, sans qu’aucun message ne l’annonce avant l’écran de gestion des thèmes.