La hiérarchie des modèles WordPress
Les thèmes WordPress vous permettent de modifier le design de votre site Web, en vous offrant un contrôle sur l’apparence et la convivialité. Ils sont essentiellement des collections de différents fichiers de modèles qui fonctionnent ensemble et produisent le design global de votre site web.
Avant de plonger plus profondément dans les thèmes WordPress, il est important que vous compreniez comment WordPress fonctionne et comment les différentes pages de votre site web sont créées. WordPress interagit avec une base de données pour stocker votre contenu. Cela signifie que chaque fois que vous créez un nouvel article ou une nouvelle page, le contenu de votre article ou de votre page vit dans une base de données et il n’est affiché en utilisant des modèles que lorsque le visiteur demande ce contenu particulier.
Un thème WordPress est une collection de modèles (fichiers CSS et PHP) que WordPress utilise pour afficher le contenu de la base de données. WordPress recherchera les fichiers d’un thème à utiliser pour rendre la page actuelle dans un ordre spécifique. C’est ce qu’on appelle une » hiérarchie de modèles « , qui est utilisée pour créer et étendre les thèmes WordPress.
Les thèmes WordPress décident de la façon dont votre contenu doit être affiché sur votre site Web. Un modèle dans WordPress est un fichier unique qui détermine à quoi ressemble une page spécifique ou un ensemble de pages sur le front-end de votre site Web. Lorsque vous changez de thème, vous modifiez la façon dont le contenu est affiché sans changer le contenu lui-même.
Les thèmes WordPress utilisent différents fichiers de modèles pour générer une page web complète. Par exemple, lorsque vous accédez à un site Web WordPress, vous pouvez en fait voir plusieurs fichiers de modèles différents combinés ensemble pour créer une page complète.
Par exemple, si vous allez regarder une page d’index, comme la première page d’un blog, vous verrez généralement un en-tête créé par le modèle header.php
, un contenu créé par index.php
, une barre latérale créée par sidebar.php
et le pied de page créé par footer.php
Par contre, si vous accédez à une page unique, vous verrez toujours le même en-tête, la même barre latérale et le même pied de page mais le contenu serait créé par single.php
à la place. La question est de savoir comment savoir lequel de ces fichiers de modèle intervient et à quel moment ? C’est là que la hiérarchie des modèles WordPress entre en jeu.
La hiérarchie des modèles WordPress détermine dans quel ordre vos fichiers de modèles sont chargés dans votre thème WordPress. WordPress recherche ces fichiers, pour déterminer comment charger votre site.
Si vous ouvrez le dossier du thème ‘Twenty Fifteen’ (un des thèmes WordPress par défaut), il y a plus de 15 fichiers templates. Il s’agit notamment de fichiers modèles pour 404, archive, auteur-bio, commentaires et lien de contenu, pour n’en citer que quelques-uns. WordPress utilisera les informations de la chaîne de requête contenues dans chaque lien sur votre site web pour décider quel modèle ou ensemble de modèles sera utilisé pour afficher la page.
WordPress décide quel type de page (page de recherche, page de catégorie ou page d’accueil par exemple) est demandé et choisit ensuite le modèle approprié suggéré par la hiérarchie des modèles WordPress pour générer le contenu.
Convention de nommage
WordPress a une convention de nommage spéciale et stricte associée aux fichiers de thème, de sorte que tous les thèmes partagent un ensemble de fichiers au nom assez commun dans le back-end. Par exemple, pour gérer facilement votre contenu, vous pouvez créer des fichiers header.php
et footer.php
. Ces fichiers de modèle doivent être nommés header.php
et footer.php
.
WordPress recherche des fichiers de modèle avec des noms spécifiques dans le répertoire du thème actuel pour déterminer quel modèle utiliser, le plus souvent le premier fichier de modèle correspondant est utilisé. Si WordPress ne trouve pas de fichier de modèle avec un nom correspondant, il passe au nom de fichier suivant dans la hiérarchie. Si WordPress ne trouve aucun fichier de modèle correspondant, il utilisera index.php (le fichier de modèle de la page d’accueil du thème).
Donc, lorsque vous éditez des fichiers de modèle, ce à quoi vous devez penser est le type de contenu dont il s’agit, puis éditer le fichier de modèle approprié pour ce type de contenu. La même chose s’applique lorsque vous créez des thèmes WordPress à partir de zéro.
Condition minimale pour un thème
Les seuls fichiers qui sont nécessaires pour qu’un thème WordPress fonctionne sont index.php
et style.css
. Le index.php
est le fichier principal et unique qui traitera chaque requête WordPress, ainsi que la structure du site.
Les fichiers minimums requis pour qu’un thème WordPress fonctionne et soit visible dans le tableau de bord WordPress pour l’activation sont index.php
et style.css
.
Si index.php
ou style.css
sont manquants, vous verrez l’erreur suivante.
Les thèmes suivants sont installés mais sont incomplets. Les thèmes doivent avoir une feuille de style et un modèle.
-
style.css
(obligatoire) -
index.php
(obligatoire) -
functions.php
(facultatif) -
screenshot.png
(facultatif)
Cette séparation augmente considérablement l’efficacité. Tout combiner dans un seul grand fichier index.php
pourrait techniquement fonctionner, mais ce ne serait pas joli, et causerait des problèmes sans fin à la longue. De plus, l’édition d’un thème serait un cauchemar !
Voici la liste des fichiers de thème reconnus par WordPress.
-
style.css
-
rtl.css
-
index.php
-
comments.php
-
front-page.php
-
single.php
-
page.php
-
author.php
-
archive.php
Il y a beaucoup d’autres fichiers également, vous pouvez consulter la liste des fichiers du modèle pour plus de détails.
Exemple de hiérarchie de template Twenty Fifteen
Supposons que vous ayez activé le thème Twenty Fifteen et qu’un utilisateur visite la page yoursite.com/author/tahir/
. Tout d’abord, WordPress recherchera le modèle étiqueté author-tahir.php
mais author-tahir.php
n’est pas disponible. WordPress cherchera alors author.php
, s’il n’existe pas non plus, il cherchera archive.php
. Ce fichier est disponible dans le thème Twenty Fifteen. Si vous supprimez ou renommez archive.php
, alors WordPress utilisera index.php
pour rendre la page.
Chaque fois qu’un utilisateur visite votre site web, WordPress remonte la hiérarchie des modèles jusqu’à ce qu’il trouve un fichier de modèle qui correspond. Cela a tout à voir avec la façon dont ces fichiers sont nommés.
Le plugin ‘What The File’
Pour savoir quel fichier et quel modèle WordPress utilise pour afficher le contenu de la page que vous êtes en train de consulter, vous pouvez utiliser le très pratique plugin What The File. C’est un plugin gratuit développé par Barry Kooij.
Ce plugin ajoute une option à votre barre d’outils indiquant quel fichier et quels modèles sont utilisés. J’ai installé le ‘What The File Plugin’ à des fins de test sur mon serveur local et j’ai trouvé qu’il fonctionnait très bien.
Pour tester quels fichiers WordPress utilise si un fichier spécifique n’est pas disponible, j’ai renommé deux fichiers (dans le thème Twenty Fifteen). Dans la capture d’écran ci-dessous, vous pouvez voir quels fichiers WordPress utilise pour afficher le contenu.
Vous pouvez voir que le thème Twenty Fifteen utilise le fichier content-search.php
pour afficher les résultats de la recherche. Si vous supprimez ou renommez content-search.php
, WordPress utilisera content.php
pour afficher les résultats de recherche à la place.
Le plugin ‘What The File’ vous permet également de cliquer directement sur le nom du fichier pour le modifier via l’éditeur de thème. Ce plugin nécessite WordPress 3.1 ou supérieur, il a bien fonctionné avec WordPress 4.1 également.
Ressources utiles
.