Formation PUB020 : WordPress, 2023 Le thème enfant

17.1 Pourquoi un thème enfant ?


Il est très rare qu’un thème corresponde exactement à nos besoin. Il y aura forcément quelques modification à y apporter : ajustement du visuel, traduction d’éléments non internationalisés, etc.

Ces modifications peuvent être faites directement dans le thème que vous avez choisi mais il s'agit d'une mauvaise pratique qui complique les mises à jour du site. En effet, lorsque vous devrez installer une mise à jour du thème, ce qui arrivera tôt ou tard, tous les fichiers du thème seront remplacés. Si vous apportez des modifications directement dans un de ces fichiers, elles seront écrasées.

L'utilisation d'un thème enfant permet d'effectuer tous les ajustements désirés sans alourdir le processus de mise à jour.

Tout site WordPress devrait utiliser un thème enfant.

Un thème enfant hérite de toutes les fonctionnalités du thème original, appelé thème parent, et lui apporte les modifications souhaitées sans toutefois modifier les fichiers du thème parent.

Dans sa forme la plus simple, un thème enfant ne sera constitué que d'un seul fichier : la feuille de style nommée style.css.

Généralement, on ajoutera également le fichier functions.php pour y effectuer la programmation qui permettra d'ajuster le site selon nos besoins.

D'autres fichiers pourront compléter le thème enfant, comme des fichiers modèles, d'autres feuilles de style, des fichiers JavaScript, des images, etc.

Fichiers remplacés vs fichier complétés

Lorsque vous développerez votre thème enfant, certains de vos fichiers remplaceront ceux du thème parent alors que d'autres les complèteront :

  • La feuille de style (style.css) est le seul fichier obligatoire dans le thème enfant. Ce fichier remplace la feuille de style du parent mais il est possible d'y importer en une seule instruction les styles du parent.
  • Le fichier functions.php complète celui du thème parent. C'est pour cette raison que les fonctionnalités du thème parent seront héritées par l'enfant.

    Le fichier de l'enfant est chargé avant celui du parent.

    Dans le cas où les fonctions du parent sont définies avec la condition if ( !function_exists() ), le thème enfant pourra redéfinir complètement la fonction.

  • Dans un thème traditionnel, les fichiers modèles (index.php, header.php, etc.) remplacent ceux du thème parent. Il n'est pas obligatoire de redéfinir ces fichiers. Si vous n'avez pas de fichier index.php, par exemple, c'est celui du parent qui sera utilisé.
  • Dans un thème basé sur des blocs, le fichier theme.json complète celui du parent et remplace les styles qui y sont redéfinis.

Pour plus d'information

« Thèmes Enfant ». Codex WordPress. http://codex.wordpress.org/fr:Th%C3%A8mes_Enfant

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre