# Un seul champ suffit à lier un dossier de thème à son parent : le champ Template

> Deux dossiers dans wp-content/themes, apparemment indépendants, mais l'un hérite réellement de l'autre. La mécanique tient à une seule ligne d'en-tête, souvent mal comprise.

- Auteur : WordPress Développement
- Publié le : 2023-06-03
- Mis à jour le : 2023-06-03
- Catégorie : Thèmes
- URL : https://www.wpmoderne.fr/themes/champ-template-lien-theme-enfant-parent/

## L’essentiel

- Le champ Template dans style.css pointe vers le nom du dossier du thème parent
- WordPress compare ce champ au nom exact du répertoire, pas au nom affiché
- Un thème enfant sans ce champ est traité comme un thème indépendant

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.

> L'essentiel à retenir : Le champ Template dans style.css pointe vers le nom du dossier du thème parent ; WordPress compare ce champ au nom exact du répertoire, pas au nom affiché ; Un thème enfant sans ce champ est traité comme un thème indépendant

## 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.
