Comment créer et utiliser un thème enfant WordPress
Modifier directement les fichiers d’un thème WordPress fonctionne, jusqu’à la prochaine mise à jour du thème : toutes les personnalisations disparaissent alors sans avertissement. Un thème enfant règle ce problème avec seulement deux fichiers.
/*
Theme Name: Mon Thème Enfant
Template: nom-du-dossier-du-theme-parent
*/
add_action('wp_enqueue_scripts', function () {
wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
});
Créer le thème enfant
-
Créer un nouveau dossier de thème
Dans wp-content/themes, créer un dossier dédié au thème enfant, distinct du dossier du thème parent qui ne doit jamais être modifié directement.
-
Créer le fichier style.css
L’en-tête du fichier doit indiquer un nom de thème et surtout la ligne Template, qui doit correspondre exactement au nom du dossier du thème parent, sensible à la casse.
-
Créer le fichier functions.php
Ce fichier doit charger la feuille de style du parent avant d’ajouter les personnalisations propres à l’enfant, pour que les styles du parent s’appliquent toujours en base.
-
Activer le thème enfant
Depuis Apparence, Thèmes, le thème enfant apparaît comme un thème installé à part entière et s’active de la même façon qu’un thème classique.
-
Ajouter les personnalisations progressivement
Tout fichier du thème parent peut être copié dans le thème enfant à l’identique pour y être modifié ; WordPress utilise alors automatiquement la version du thème enfant à la place de celle du parent.
Pourquoi ce mécanisme protège les personnalisations
Quand un thème enfant est actif, WordPress cherche d’abord chaque fichier de template dans le dossier du thème enfant. S’il ne l’y trouve pas, il utilise automatiquement le fichier correspondant du thème parent. Cela signifie qu’il suffit de recopier un seul fichier à modifier dans le thème enfant, sans dupliquer l’intégralité du thème parent.
Lors d’une mise à jour du thème parent, seuls les fichiers du dossier parent sont remplacés par la nouvelle version : les fichiers du thème enfant restent intacts, puisqu’ils vivent dans un dossier totalement séparé. C’est ce qui rend les personnalisations pérennes face aux mises à jour, contrairement à une modification directe du thème parent qui serait écrasée à chaque mise à jour.
Les erreurs courantes
- Copier l’intégralité des fichiers du thème parent dans le thème enfant plutôt que uniquement ceux réellement modifiés, ce qui annule le bénéfice des futures mises à jour du parent sur tout le reste.
- Se tromper dans le nom du dossier indiqué à la ligne Template : une casse différente ou un nom incorrect empêche WordPress de faire le lien avec le thème parent, et le thème enfant reste inactivable.
- Oublier de garder le thème parent installé : WordPress a besoin des deux thèmes présents, le parent n’étant jamais activé directement mais restant indispensable au fonctionnement de l’enfant.
- Modifier des fonctions PHP du parent en les redéclarant à l’identique dans le thème enfant, ce qui provoque une erreur de redéclaration plutôt qu’un remplacement propre.
Questions fréquentes
Un thème enfant ralentit-il le site ?
Peut-on créer un thème enfant à partir de n’importe quel thème parent ?
Faut-il un thème enfant même pour de petites personnalisations CSS ?
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.