Modifier directement un thème téléchargé fonctionne, jusqu’à ce que sa prochaine mise à jour n’écrase silencieusement toutes ces modifications. Le thème enfant règle ce problème structurellement : il ne contient que les changements souhaités, tout le reste continuant d’être fourni par le thème parent resté intact.
Structure minimale requise
Un thème enfant n’a besoin que de deux éléments : un style.css dont l’en-tête précise le champ Template avec le dossier exact du thème parent, et généralement un functions.php qui charge la feuille de style du parent avant la sienne propre.
Exemple minimal complet
/* style.css */
/*
Theme Name: Mon Thème Enfant
Template: theme-parent
*/
// functions.php
add_action( 'wp_enqueue_scripts', function () {
wp_enqueue_style( 'style-parent', get_template_directory_uri() . '/style.css' );
} );
Pièges fréquents
- Le champ
Templatedoit correspondre exactement au nom du dossier du thème parent, pas à son nom affiché : une erreur ici casse silencieusement l’activation du thème enfant. - Un thème enfant ne peut pas hériter d’un autre thème enfant : la chaîne d’héritage de WordPress ne va que sur un seul niveau, parent puis enfant.
- Toute surcharge de gabarit dans le thème enfant doit reproduire exactement le nom du fichier du parent pour être prise en compte par la hiérarchie des gabarits.