Créer un thème enfant pour WordPress

Pourquoi ?

En modifiant le code du thème original vous perdrez toutes vos modifications dès qu’une mise à jour vient à être installée, c’est pour cela que vous devez créer un thème enfant qui lui ne sera pas impacté lors de cette mise à jour.

En utilisant ce thème enfant, vos modifications ne seront plus impactés par les mises à jour du thème.

Création du thème enfant

Connectez-vous à votre serveur via votre logiciel FTP (FileZilla ou autre)
Rendez-vous dans le dossier “/wp-content/themes/”
Créez un dossier pour votre thème enfant, par convention j’essaie toujours de lui donne rle nom suivant NOM_DU_THEME_child
À l’intérieur de ce dossier créez un fichier “style.css” dans lequel vous devez collez le code suivant :

/*
Theme Name: THEME Enfant
Theme URI: https//www.creazo.fr
Description: Ce thème est le thème enfant de THEME
Author: NOM
Template: PARENT
*/
@import url("../PARENT/style.css");

Pour que cela fonctionne, veillez à remplacer :
THEME par le nom de thème parent (ex : Étendard)
NOM par votre nom
PARENT par le nom du dossier contenant le thème parent
Si vous le désirez, vous pouvez copier le fichier screenshot.png dans le thème enfant. Cela n’empêchera pas le thème de fonctionner si vous ne le faites pas mais cela vous permettra d’avoir une capture d’écran dans la sélection des thèmes de WordPress.

Fonctionnement d’un thème enfant

Pour les modifications CSS, il suffit d’insérer vos règles sous ce que vous avez écrit dans le fichier “style.css” (après la ligne @import…). Elles prendront le dessus par rapport aux règles définies dans le thème parent.

Concernant les fichiers PHP, il faut savoir que WordPress utilise en priorité les fichiers contenus dans les thèmes enfants. Pour modifier un fichier du thème parent, vous allez devoir le copier dans le thème enfant pour ensuite le modifier.

Ainsi en cas de mise à jour du thème parent, WordPress utilisera toujours le fichier PHP du thème enfant, il suffit de supprimer ou de mofifier le nom de ce fichier pour que le fichier du thème parent reprenne le dessus immédiatement.

L’exception qui confirme la règle : functions.php

Un seul fichier ne se soumet pas à cette logique, c’est le fichier  “functions.php”. Si vous en créez un dans le thème enfant (parfois on doit créer “custom-functions.php”, c’est le cas des thèmes de la boutique Themify), il se combinera avec celui du thème parent (pour information, il sera chargé juste avant celui du thème parent). Faites donc attention à son utilisation.

Ce fichier doit obligatoirement commencer par une balise ouvrante PHP :

<?php

Pour plus d’information, vous pouvez vous referez au codex de wordpress.