Adopte ton plugin
Le blog indépendant des ressources WordPress
Accueil TutosExtensionsThèmesSécuritéPerformance & SEOBien démarrer À proposContact
Tutos · Extensions · Thèmes · Sécurité · Performance
Adopte ton plugin
Tutoriels, extensions, thèmes, sécurité, maintenance et performance : de quoi faire tourner ton site WordPress sans t'arracher les cheveux
Accueil › Tutoriels › Créer et installer un thème enfant WordPress, pas à pas
Tutoriels · Thèmes

Créer et installer un thème enfant WordPress, pas à pas

Créer et installer un thème enfant WordPress, pas à pas

Tu as modifié le fichier CSS de ton thème, puis une mise à jour est passée et tout a disparu ? C’est exactement le problème que règle un thème enfant. Il hérite de tout ce que fait le thème parent, et ne contient que tes modifications. Le parent peut se mettre à jour tranquillement, tes changements restent à l’abri dans un dossier à part.

À quoi sert un thème enfant

WordPress charge d’abord les fichiers du thème enfant, puis complète avec ceux du parent. Concrètement, tu peux :

  • ajouter ou surcharger du CSS ;
  • ajouter des fonctions PHP dans un functions.php qui s’exécute en plus de celui du parent ;
  • remplacer un fichier de gabarit (par exemple single.php ou footer.php) en le copiant dans le dossier enfant puis en le modifiant ;
  • garder tes traductions ou tes petits ajouts sans toucher au code d’origine.

Avant de te lancer, vérifie que le parent est bien installé dans Apparence > Thèmes : le thème enfant ne fonctionne jamais seul.

Les deux fichiers de départ

Un thème enfant minimal tient en deux fichiers placés dans un dossier, par exemple mon-theme-enfant, à côté du dossier du parent dans wp-content/themes/.

Le fichier style.css

Il commence par un en-tête en commentaire. La ligne indispensable est Template : elle doit contenir le nom du dossier du thème parent, pas son nom commercial.

/*
Theme Name: Mon thème enfant
Template: twentytwentyone
Description: Thème enfant pour mes personnalisations
Version: 1.0.0
Text Domain: mon-theme-enfant
*/

/* Tes règles CSS commencent ici */

Si le parent s’appelle « Astra » mais que son dossier se nomme astra, c’est astra qu’il faut écrire. Une faute de frappe ici, et WordPress t’affiche que le thème parent est introuvable.

Le fichier functions.php

Il sert à charger les feuilles de style. L’ancienne méthode avec @import dans le CSS est à éviter : elle ralentit l’affichage. On passe plutôt par wp_enqueue_style :

<?php
add_action( 'wp_enqueue_scripts', 'mon_enfant_styles' );
function mon_enfant_styles() {
    wp_enqueue_style(
        'parent-style',
        get_template_directory_uri() . '/style.css'
    );
    wp_enqueue_style(
        'enfant-style',
        get_stylesheet_uri(),
        array( 'parent-style' ),
        wp_get_theme()->get( 'Version' )
    );
}

get_template_directory_uri() pointe vers le dossier du parent, get_stylesheet_uri() vers le style.css de l’enfant. La dépendance array( 'parent-style' ) garantit que ton CSS passe après celui du parent, donc qu’il gagne en cas de conflit.

Attention : certains thèmes chargent déjà eux-mêmes la feuille de l’enfant, ou n’utilisent pas leur style.css principal pour la mise en forme. Dans ce cas, tu risques un double chargement. Regarde la documentation du parent : beaucoup d’éditeurs fournissent un thème enfant prêt à l’emploi, qui règle la question.

Installer le thème enfant

Deux méthodes, selon tes accès.

MéthodeÉtapesPour qui
Archive ZIPCompresser le dossier, puis Apparence > Thèmes > Ajouter > Téléverser un thèmeSi tu n’as que l’accès à l’administration
Transfert directEnvoyer le dossier dans wp-content/themes/ en SFTPSi tu as un accès serveur

Pour la seconde méthode, notre mode d’emploi de FileZilla détaille la connexion. Une fois le dossier en place, le thème apparaît dans Apparence > Thèmes : clique sur « Activer ».

Tu peux ajouter une image screenshot.png dans le dossier pour reconnaître ton thème enfant d’un coup d’œil dans la liste.

Ce que tu peux perdre à l’activation

Les réglages du Customizer (couleurs, logo, menus attribués aux emplacements, widgets) sont parfois enregistrés par thème. En passant au thème enfant, il arrive qu’il faille réattribuer les menus ou retoucher quelques options. Fais-le de préférence sur une copie de test, et garde une sauvegarde à portée de main : notre tutoriel pour installer UpdraftPlus t’aide à la mettre en place.

Quand un thème enfant est inutile

Avec un thème blocs

Avec un thème blocs (Twenty Twenty-Four, Twenty Twenty-Five et la plupart des thèmes récents), les modifications faites dans Apparence > Éditeur sont enregistrées en base de données, pas dans les fichiers du thème. Une mise à jour du parent ne les efface donc pas. Pour changer des couleurs, des polices ou des gabarits, l’éditeur de site suffit souvent.

Un thème enfant reste utile si tu veux livrer un theme.json personnalisé, des modèles en fichiers ou du PHP versionné. L’extension officielle Create Block Theme sait d’ailleurs générer un thème enfant d’un thème blocs depuis l’administration. On détaille ce fonctionnement dans l’article sur les thèmes blocs et l’éditeur de site.

Pour quelques lignes de CSS

Si tu veux juste ajuster trois marges, le champ CSS additionnel suffit : Apparence > Personnaliser > CSS additionnel pour un thème classique, ou dans les Styles de l’éditeur de site pour un thème blocs. Ce CSS survit aux mises à jour.

Pour une fonction PHP isolée

Un bout de code qui n’a rien à voir avec l’apparence (désactiver une fonction, ajouter un raccourci) a sa place dans une petite extension maison ou dans une extension de gestion d’extraits de code. Avantage : il continue de fonctionner si tu changes de thème un jour.

Les erreurs fréquentes

  • Le site affiche un écran blanc après activation : souvent une erreur de syntaxe dans functions.php, comme une balise <?php manquante ou un point-virgule oublié. Renomme le dossier du thème enfant par SFTP pour revenir au parent, puis corrige. Notre guide pour dépanner les erreurs courantes liste les autres causes.
  • Le CSS ne s’applique pas : vide le cache de ton extension de cache et du navigateur, puis vérifie que ta règle est assez précise pour l’emporter sur celle du parent.
  • Un gabarit copié casse après une mise à jour du parent : le parent a modifié ce fichier entre-temps. Compare les deux versions et reporte les changements.

Un thème enfant bien tenu reste léger : ne copie que les fichiers que tu modifies vraiment. Moins il y a de gabarits surchargés, moins tu auras de travail à chaque évolution du parent.

Cet article peut contenir des liens partenaires. Ils n'influencent jamais ce que nous écrivons.