Tous ceux qui débutent avec Divi (ou plus généralement WordPress), se sont un jour posé la question de savoir ce qu’était un thème enfant et s’ils en avaient besoin.
Divi étant déjà très complet “out of the box”, en quoi un thème enfant serait utile ? Et si tel est le cas, comment lui en ajouter un ?
Vous voulez connaitre les réponses à ces questions ? Alors, continuez votre lecture…
C’est quoi un thème enfant ?
Un thème enfant est composé au minimum de 2 fichiers qui viennent s’ajouter en supplément du thème parent (Divi en ce qui nous concerne).
Là, vous être en train de vous dire : “J’ai déjà un thème avec Divi, pourquoi j’en ajouterais un second ?”.
Judicieuse remarque ! En fait, le thème enfant hérite des fonctionnalités de son parent et permet de “faire tampon” si on souhaite apporter des modifications au thème parent ; celles-ci seront ainsi écrites au niveau de l’enfant et si le parent subit une mise à jour, les changements apportés ne seront pas perdus.
J’en profite pour préciser (car j’ai déjà vu le cas), que “thème enfant” et “child theme” définissent la même chose (il s’agit juste de la traduction anglaise).
À quoi sert vraiment un thème enfant ?
Pour apporter des modifications au thème parent
Comme j’ai commencé à vous l’expliquer plus haut, la première raison qui nous fait utiliser un thème enfant est la possibilité de préserver les modifications qu’on apporte au thème parent.
Je parle ici de changements importants touchant à la structure du thème ou à une fonctionnalité qu’on souhaite modifier en profondeur… en résumé, tout ce qui n’est pas possible via les réglages natifs de Divi.
Par exemple, pour ajouter de nouveaux icones de réseaux sociaux à Divi, vous aurez besoin de modifier le fichier footer.php de WordPress qui contient le pied de page de votre site et est appelé sur toutes vos pages (sauf si vous avez choisi le template blank, évidemment).
Ainsi nous apporterons nos modifications sur la nouvelle occurence du fichier footer.php, rangé en sécurité dans notre thème enfant, bien à l’abri de toute mise à jour de son parent.
Là, vous allez me dire : “Et si la mise à jour du parent apporte une nouvelle fonctionnalité écrite dans le fichier footer.php, je ne pourrai pas en bénéficier ?“
Et bien oui, il est bien de prendre le temps de lire le changelog de Divi (le fichier qui récapitule les changements apportés à chaque mise à jour) pour vérifier les fichiers qui sont impactés. Et si besoin, il vous faudra refaire vos modifications à partir du nouveau fichier.
Pour apporter des modifications à WordPress ou à certaines extensions
Certains changements ne sont possibles qu’avec des hooks (actions et filtres) et nécessitent l’ajout de lignes de code en PHP.
Par exemple, si vous souhaitez modifier le nombre de caractères de l’excerpt (vous savez, ce petit texte qui s’affiche sur la page listant les articles de blog avant le fameux “Lire la suite”) ou encore apporter des changements sur les fiches produits de WooCommmerce (renommer les onglets, etc.)…
Ce ne sont que 2 exemples parmi les millions de possibilités offertes par les hooks.
Pour éditer facilement les CSS
Divi nous autorise à ajouter des CSS personnalisées dans les sections, lignes et modules ou encore dans les Options du thème ou les Paramètres de la page.
C’est bien, mais quand on commence à avoir plusieurs dizaines de lignes de code, on ne sait plus trop où on en est et ça devient vite le bazar.
Alors qu’en éditant le fichier style.css présent dans le thème enfant directement dans un éditeur de code, on peut profiter de toutes ses fonctionnalités.
Depuis février 2018, les champs de CSS personnalisées de Divi proposent quelques options comme la coloration syntaxique, l’autocomplétion (vous commencez par exemple à saisir “back…” et il vous suggère “background-color“, etc.), la gestion des erreurs… mais avec un véritable éditeur de code, vous bénéficierez par exemple de l’auto-indentation (les retraits de certaines lignes qui permettent d’améliorer la lisibilité du code) ou encore des diverses extensions disponibles pour votre IDE qui vous aideront à coder confortablement.
Pour la répétabilité
Si vous avez à créer régulièrement des sites, il est on ne peut plus confortable de posséder un petit package avec tout ce qu’il faut dedans, et que vous allez réutiliser de projet en projet comme base de travail.
Vous pouvez vous créer un thème enfant à votre nom, contenant un certain nombre de styles prédéfinis, voire quelques fonctions utiles.
Ainsi, vous gagnerez un temps non négligeable quand vous débuterez un nouveau projet, car vous n’aurez pas à réinventer la roue à chaque fois.
J’ai vraiment besoin d’un thème enfant ?
En ce qui me concerne, j’aime défendre le fait qu’on ne peut pas répondre catégoriquement à cette question. En réalité, tout dépend du niveau de personnalisation que vous voulez apporter à votre site.
Divi étant déjà très complet à l’origine, il est fort probable que ses fonctionnalités vous suffisent amplement pour le personnaliser à votre goût.
Mais… par expérience, arrive toujours le moment où on veut faire une modification supplémentaire (je reprends mon exemple des ajouts de nouveaux icones de réseaux sociaux à Divi), on se renseigne alors sur la manière de procéder et on s’aperçoit qu’elle n’est possible qu’avec un thème enfant… qu’à cela ne tienne, même si vous avez déjà personnalisé votre Divi, vous pouvez à tout moment lui ajouter un thème enfant, sans risque !
Par contre, soyez bien conscients qu’à l’inverse, si vous avez effectué des modifications par l’intermédiaire de votre thème enfant et que vous le désactivez, celles-ci ne seront plus appliquées à votre site Divi.
Comment faire un thème enfant ?
Un thème enfant est composé d’un dossier, que vous pouvez nommer comme bon vous semble, et qui est à déposer dans /wp-content/themes/
Puis, comme je l’ai précédemment évoqué, pour être fonctionnel, un thème enfant a besoin a minima de 2 fichiers :
- un fichier functions.php qui vous servira à déclarer votre thème enfant, sa feuille de styles, à ajouter des fonctions PHP…
- un fichier style.css qui contiendra les styles personnalisés que vous ajouterez à votre thème enfant
Le fichier functions.php
Pour déclarer votre thème enfant et cibler sa feuille de styles, ce fichier doit contenir les lignes suivantes :
Notez la balise ouvrante <?php qu’il ne faut pas refermer.
Si vous souhaitez ajouter des appels de fichiers JavaScript, vous pouvez les inclure directement dans ce fichier (voir ligne 5 du code ci-dessous).
Dans cet exemple, les fichiers JavaScript sont placés dans un dossier nommé js, lui-même situé dans le thème enfant.
Le fichier style.css
Pour être fonctionnel, ce fichier doit impérativement contenir une en-tête avec au minimum les 2 informations suivantes :
- le nom du thème enfant
- le nom du répertoire du thème parent
Mais vous pouvez ajouter d’autres précisions comme sa description, le nom de l’auteur, une url… voir la liste complète ici.
Voici par exemple l’en-tête du thème enfant de Divi Community.
Le petit plus : le screenshot
Vous pouvez attribuer un visuel à votre thème enfant pour illustrer la manière dont il s’affiche dans l’administration de WordPress (Apparence -> Thèmes).
Pour ce faire, il vous suffit d’ajouter dans le dossier de votre thème enfant une image de 1200 x 900 px, de préférence en PNG (mais le JPEG et le GIF sont également autorisés).
Existe-t’il des thèmes enfants prêts à l’emploi ?
Tout à fait, vous pouvez trouver 2 types de thèmes enfants sur le web.
Les thèmes enfants vierges
Parfaits pour démarrer si vous ne souhaitez pas créer vous-même votre thème enfant, ils sont prêts à l’emploi.
Il existe divers générateurs en lignes, par exemple sur WP Marmite, sur Divi Space, sur Divi Cake…
Et vous pouvez également télécharger gratuitement notre thème enfant Divi Community qui embarque quelques fonctionnalités utiles.
Les thèmes enfants personnalisés
Ces thèmes enfants sont proposent généralement un design complet et sur-mesure pour différentes pages-types (accueil, blog, contact, etc.).
Ils sont soit multi-usages, soit ciblés sur une thématique particulière avec les fonctionnalités appropriées : un secteur d’activité, la promotion d’un événement, de la vente immobilière ou automobile, un e-shop, etc.
Étant donné la masse de travail que représente le développement de ces thèmes enfants, ils sont généralement payants.
Voici quelques vendeurs de thèmes enfants de qualité : Superfly, DiviCake, Aspen Grove Studios, B3 Multimedia…
Mais, en cherchant bien vous pourrez en trouver quelques-uns qui soient gratuits, par exemple chez Divi Life, Love Divi ou encore Divi Space…
Attention cependant à ne pas confondre thèmes enfants personnalisés et layouts !
Ces derniers étant de simples mises en pages à importer dans une section ou une page, ils ne proposent pas le même niveau de personnalisation et n’impactent pas les styles du menu, du footer, etc.Je vous invite à lire notre article sur l’import/export de layouts dans Divi.
Comment installer un thème enfant ?
Et bien, si vous avez su installer Divi, vous saurez lui adjoindre un thème enfant… 😉
Dans l’administration de WordPress :
- Rendez-vous dans Apparence -> Thèmes
- Cliquez sur le bouton Ajouter puis Téléverser un thème
- Choisissez et installez le ZIP de votre thème enfant
- Votre thème enfant apparait dans la liste des thèmes, aux côtés de Divi.
Survolez sa vignette et cliquez sur Activer
Votre thème enfant devient le thème actif, néanmoins il ne faut surtout pas supprimer le thème Divi !
Par contre, vous pouvez sans souci effacer les autres thèmes installés par défaut avec WordPress.
Même si parfois il peut être utile d’en conserver un, dans le cas où, pendant la phase de développement, on rencontre une erreur et qu’on ait besoin de vérifier si c’est le thème qui est en cause.
Le mot de la fin
J’espère qu’après la lecture de cet article, vous comprenez mieux le concept du thème enfant et son utilité.
Une fois encore, j’aime dire que l’utilisation d’un thème enfant n’a pas besoin d’être systématique, car tout dépend de votre manière d’utiliser Divi.
Bien sûr, si vous évoluez dans un contexte professionnel, un thème enfant est indispensable.
Bonjour,
J’adore votre site !
J’ai installé votre thème enfant, par contre la fonction “centrer-verticalement” ne fonctionne pas 🙁
Que dois-je faire ?
Merci, merci,
Merci Estelle. 🙂
Si tu cherches à centrer des modules verticalement dans des colonnes, il faut penser à activer harmoniser la hauteur des colonnes sur la ligne concernée.
CF mon tuto sur le sujet.
Bonsoir,
Bravo pour le site !
J’ai une question.
J’ai modifié le module blurb.php de Divi et j’ai mis le fichier modifié dans un thème enfant.
Comment faire pour charger le fichier blurb.php qui se trouve dans le thème enfant à la place du fichier blurb.php qui se trouve dans Divi ?
Merci
Marc
Merci pour tes encouragements. 🙂
Modifier un module de Divi n’est clairement pas si simple… Voici des conseils pour l’ancienne méthode (les modifs apportées au module ne s’afficheront pas en live dans le Visual Builder) et pour la méthode actuelle compatible avec le Visual Builder.
Bonjour,
Merci pour votre article.
J’ai une petite question : j’ai déjà modifié le thème parent DIVI et je souhaite installer un thème enfant sans perdre mes modifications (faites uniquement avec le divi Builder). Quelle est la marche à suivre sans risquer de tout perdre ?
Merci pour votre retour !
Bonjour,
si tu n’as pas touché aux fichiers PHP de Divi alors tu n’as aucune crainte à avoir, tu ne perdras rien.
Bonjour,
J’ai une question : est-ce possible de changer de thème enfant ?
J’ai un thème enfant payant qui a été installé par un intégrateur (Divi Ultimate). Je n’ai pas été informée à ce moment que je devrais éventuellement payer quelques 300$ pour acheter la licence de ce thème enfant pour le mettre à jour.
Je voudrais enlever ce thème que je dois mettre à jour et le remplacer par le thème «Divi-Community-child-theme-1.1» qui est proposé dans cet article. Est-ce une bonne idée ?
Merci pour vos conseils
Nathalie
Bonjour, il est possible que tu perdes une partie du design. Je te conseille d’essayer sur un site de test.
Bonjour Julien, merci pour ta réponse. J’ai fait des recherches depuis ma question et je comprend mieux comment fonctionne un thème enfant. Mon fichier style.css ne contient aucun css additionel, par contre, le fichier fonction.php a beaucoup d’info dedans. Mon dossier Child Theme contient plusieurs autres fichiers php, qui semblent en lien avec mes widgets et mes plugins : header.php, sidebar-footer.php, tm-variation.php et un sous dossier Woocommerce avec les fichiers content-product.php, content-widget-product.php et order.php. Mon WordPress Dashboard me dit que certaine page de Woocommerce pourraient ne pas s’afficher correctement à chaque update de Divi. J’ai aussi lu que c’était une mauvaise pratique de mettre un sous dossier Woocommerce dans le Child Theme. Il semble effectivement que le sous dossier Woocommerce pose problème, puisque je ne peux updater la dernière version de Divi sans que mon design change. Est ce que je pourrais simplement déplacer le sous dossier Woocommerce qui est dans le Child Theme et le mettre dans le dossier Thème Divi ? Qu’en penses-tu ?
Comme je l’explique clairement dans mon article, tout l’intérêt du thème enfant est de permettre de sécuriser des modifications en profondeur (notamment sur des fichiers PHP) lorsque le thème parent est mis à jour.
Tu dois donc garder ton dossier WooCommerce.
Après, comme je le dis également, si le thème enfant que tu utilises date un peu, il est possible que les modifs apportées sur certains fichiers PHP doivent être refaites sur les nouveaux fichier PHP correspondant qui ont été mis à jour. En effet, lorsqu’il y a des changements importants d’une version à une autre, il se peut que le fait de conserver des fichiers PHP obsolètes dans son thème enfant génère un conflit ou ne permette pas de bénéficier de certaines nouveautés.
Par exemple, Divi 4 a apporté beaucoup de changements sur le fichier “header.php” en raison de l’arrivée du Theme Builder. Et ce n’est qu’un exemple parmi d’autres…
Bonjour,
Vous êtes mon héro ! 😉 Merci beaucoup pour votre site !
Petite question svp. J’utilise un thème enfant DIVI et je viens de mettre à jour le parent. L’enfant est toujours sur l’ancienne version. Comment le mettre à jour ? Dois-je refaire le processus ?
Merci, bonne journée.
Tu utilises un thème enfant que tu as acheté ?
Si oui, tu peux normalement le mettre à jour de la même manière que tu l’as fait pour Divi. À moins qu’il possède un menu spécifique…
Bonjour, Je suis partie d’un layout de la bibliothèque Elegant Themes dont je souhaite modifier les feuilles de style (taille des caractères). J’ai installé le thème enfant fourni dans cet article puis ajouté les ligne suivantes mais ça ne fonctionne pas. Où se situe mon erreur ? Merci de votre aide…
h1{font-size: 30px;}
h2{font-size: 20px;}
Bonjour,
J’ai crée un site avec le thème Divi en achetant la licence sans savoir qu’il fallait créer un thème enfant. Je suis passée par le divi builder pour le personnaliser (modifier le sections, modules, images, typo, couleurs…) .
j’ai deux questions :
1/ aujourd’hui on me propose une mise à jour du thème sur mon tableau de bord WP, si je l’accepte est ce que cela aura un impact sur mon site ? J’ai peur que tout soit perdu si je mets à jour .
Vaut-il pas mieux que je n’accepte pas cette mise à jour ?
2/ est-ce possible de passer mon site existant en thème enfant ?
Merci de votre retour.
Si tu n’as pas fait de modifications dans les fichiers php de Divi alors pas de souci pour faire ta mise à jour et pour ajouter un thème enfant. Tu ne perdras pas tes réglages.
Bonjour, je comprend, et pourtant pas vraiment, j’ai un WordPress avec Divi, je l’ai eu gratuitement avec mon hébergement chez infomania.com. Quand je vais dans thème, j’ai un thème enfant actif et un thème Divi inactif. Si j’active le thème Divi et même si supprime le thème enfant, rien ne change au niveau de mon site et j’ai toujours accès aux ajout du CSS additionnel du thème et j’ai toujours accès à mon éditeur de fichiers.. Du coup je me pose des questions.. je crois que je dois tester plusieurs thèmes enfants pour peut-être y trouver une utilité..
(ps: on ne sait pas s’inscrire sur votre site?)
Les CSS du thème enfant sont une “surcouche” du thème parent. Consulte cet article pour en savoir plus sur la gestion des CSS dans Divi.
Et j’invite à rejoindre notre groupe d’entraide sur Facebook si tu souhaites être accompagné.
Bonjour, j’ai actuellement une site utilisant un thème enfant je voudrais repasser sur le thème parent, faut-il que je refasse entièrement le site ou il existe un moyen de transférer le site ?
Merci
Il faut juste vérifier si des modifications ont été effectuées via le thème enfant par l’ajout de code personnalisé dans les fichiers “style.css” et “functions.php”.
De même, il est possible que des fichiers php de templates aient été ajoutés dans le dossier du thème enfant.
Si ce n’est qu’une question de CSS, vous pouvez les copier-coller dans les “options de Divi > personnaliser CSS”.
Par contre, s’il y a eu des modifications en php, alors le thème enfant reste préconisé.