Thème enfant

Si un thème existant convient presque bien, il est possible de lui faire quelques améliorations.
Il est préférable d’éviter de modifier le thème lui-même. En effet, en cas de mise à jour, les modifications sont perdues.

Quelques notions de CSS, d’HTML et de PHP seront nécessaires.

Création du thème enfant

Comme pour tout thème, il faut créer dans le répertoire des thème un sous-répertoire. Habituellement on le nomme du nom du thème parent suffixé par « -child », mais ce n’est pas une obligation.

Dans ce répertoire on crée deux fichiers, une feuille de style nommé « style.css » et un fichier de code nommé « functions.php », ces noms sont obligatoires. Selon les besoins, il est possible de créer d’autres fichiers.

Feuille de style

Elle doit débuter par une zone de commentaire indiquant la nature du thème enfant (les informations en italique sont à remplacer). Ces informations seront utiles pour retrouver le thème depuis le tableau de bord de WordPress.

/*
Theme Name: Super thème enfant
Author: Moi-même
Description: Version en développement
Version: 0.0
Template: nom-du-theme-parent
*/

On indiquera à la suite les styles à modifier.

functions.php

Ce fichier, en code PHP, indiquera à WordPress comment lier ce thème à son parent.

Il doit au moins contenir

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
   wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}

(On peut remplacer le nom de la fonction « theme_enqueue_styles » par tout autre nom.)

Ensuite…

Si l’on crée un thème enfant, c’est pour qu’il soit un peu différent du parent. On peut donc, dans la feuille de style, ré-écrire les sélecteurs-propriétés du parent. Pour cela, depuis un navigateur équipé des outils de développement adaptés (type Firebug), on examine les pages produites en notant les styles à modifier.

Il est aussi possible d’intervenir sur la structure des pages en créant dans le dossier du thème enfant des fichiers modèles (templates) portant le même nom que ceux du thème parent. Le fichier « fonctions.php » peut aussi être complété.

En savoir plus

Sur le site WordPress : https://codex.wordpress.org/fr:Thèmes_Enfant