Damien Flandrin

Développeur Web

Anatomie d'un thème wordpress

il y a 5 mois · 5 MIN DE LECTURE
#Wordpress 

Les thèmes Wordpress sont constitués de plusieurs fichiers, chacun d'entre eux contrôlant une partie de votre thème. Il y a des parties de votre site qui restent statiques peu importe la page sur laquelle vous vous trouvez comme l'en-tête ( header.php ), la barre latérale ( sitebar.php ) et le pied de page ( footer.php ). Il est fréquent que ces sections soient identiques sur toutes les pages mais vous pouvez adapter l'affichage de certains éléments comme par exemple le menu de navigation. D'autres parties sont des fichiers modèles, ils peuvent varier selon le type de contenue de vos pages, c'est le cas par exemple de page.php. Nous allons voir dans cet article l'ensemble des fichiers qui constituent l'anatomie d'un thème Wordpress et de leur rôle au sein de votre thème.

Infographie Anatomie wordpress.png

Les fichiers statiques

Pour commencer cet article, je vais vous montrer les différents fichiers statiques qu'on retrouve généralement dans un thème Wordpress. Ils existent parfois des différences selon le type d'environnement de développement d'un thème ( exemple : underscores, html5blank ou encore Divi ) mais ici, je vais lister ceux qu'on retrouve normalement dans un thème de base.

header.php

Affiche les en-têtes comme les balises META et le titre mais aussi la navigation, c'est aussi cette partie qui ouvre les balises HTML.

footer.php

Même chose mais pour le footer, il peut contenir des informations complémentaires, le même menu que l'en-tête ainsi qu'un second menu destiné aux mentions légales, etc... c'est ici que se termine notre page et qu'on retrouve la fermeture de nos balises HTML.

sidebar.php

L'affichage de la barre latérale est contrôlé dans ce fichier. Plusieurs barres latérales peuvent être configurées dans functions.php, et on peut ajouter des widgets dans ses barres à partir du panneau wordpress wp-admin.

index.php

Par défaut, le fichier index.php prend la forme de la page d'accueil, il contient une boucle qui affiche les articles les plus récents. Vous pouvez également spécifier dans vos paramètres de votre thème dans le back-office ( Apparence -> Thèmes -> Personaliser ), une page que vous avez créée dans Wordpress. Dans ce cas, vous allez devoir indiquer une page différente pour vos articles de votre blog, cette nouvelle page utilisera votre index.php et ne sera plus la page d'accueil.

comment.php

Ce fichier contrôle le nombre de commentaires, qui peuvent être inclus dans la boucle si vous désirez des commentaires sur votre thème.

Les fichiers dynamiques

page.php

page.php contrôle l'affichages des pages que vous pouvez crée dans le back-end de WordPress. Wordpress vous permez également de créer différents modèles de pages pour différents types de pages. Pour créer un modèle de page, copiez simplement page.php, renommez-le comme vous voulez, puis ajoutez ce code au début:

/*
Template Name: Nom du modèle
*/

single.php

single.php permet quand à lui de contrôler l'affichage des articles, il est possible que vous ayez des types d'articles différent utilisant sa propre taximonie, vous pouvez personaliser leur affichage en créant un Custom Post Type puis en copiant single.php pour le renommer en respectant cette nomenclature single-nomDuTemplate.php.

category.php, archive.php, tag.php

Comme pour single.php, vous pouvez contrôler l'apparence de différentes archives en fonction des Custom Post Type en utilisant le même système de nomenclature que single.php et il en va de même pour category.php et tag.php. S'il n'y a pas le fichier archive.php, la page ressemblera à index.php. Si il n'y a pas de category.php, Wordpress utilisera archive.php et c'est pareils pour tag.php qui remplacera archive.php si il existe et ainsi de suite. Vous arrivez à suivre ?

The Loop ( La Boucle )

La boucle est peut-être la partie la plus importante de votre thème Wordpress. Il commence par une requête qui selon la configuration que vous aurez spécifié dans le back-end, affichera un nombre d'articles spécifiques. La boucle commence par la condition while et termine par l'instruction de fermeture endwhile. Tout ce qui se trouve entre les deux contiendra les informations de notre boucle. Vous pouvez afficher et personnaliser le titre, le contenu de l'article ou son extrait..., et chaque élément est publié pour chaque article jusqu'à ce que la requête soit terminée

Have_Post

Cette fonction vérifie si la requête WordPress actuelle a des résultats à afficher à partir de notre boucle. Il s'agit d'une fonction booléenne, ce qui signifie qu'elle retourne TRUE ou FALSE.

Comme effet secondaire, have_posts démarre, parcourt ou réinitialise la boucle. À la fin de la boucle, have_posts retourne 0 après avoir appelé rewind_posts.

Autres fichiers

Deux fichiers qui ont un impact important, functions.php et votre feuille de style principale, style.css.

functions.php

Functions.php vous permez de mettre votre propre code php pour modifier le comportement de Wordpress avec votre thème. Il est souvent utilisé pour spécifier plusieurs barres latérales, modifier le nombre de caractères dans l'extrait d'artcile ou ajouter des options ou des Custom Post Type.

style.css

C'est la feuille de style CSS principale de votre thème. Il contient également le texte descriptif de votre thème au sommet qui indique à Wordpress quel est le nom de votre thème, sa version, qui est l'auteur et qu'elle est l'URL de votre site.

À savoir aussi

Ils existent des éléments comme les Widgets, les plugins, les Custom Fields et les Custom Post Type qui vous permettent de personnaliser davantage votre thème.

Widgets

Les widgets sont des petits modules qui vont dans vos sidebars en générale, ils sont parfois utilisé également dans des Plugins Page Builder. À partir du Backend, vous pouvez changerl l'emplacement, supprimerou des widgets, et ajouter vos propres widgets. Les widgets incluent des éléments comme les formulaires de recherche, une liste des articles les plus populaires ou les blocs publicitaires par l'intermédiaire de plugins d'annonceurs.

Plugins

Eh oui, c'est étonnant mais de mon point de vue même s'ils ne font pas partie de la structure de notre thème, les plugins s'y intègrent souvent par l'intermédiaire des Carrousels, des Page Builder, ... Une grande communauté de développeurs proposent des millions de plugins différents permettant la personnalisation avancée de votre thème.

Custom Fields

Les champs personnalisés sont des zones spéciales que vous aurez créer à partir de functions.php ou à partir de plugins comme Advanced Custom Field dans le but d'ajouter des champs pour l'administration de vos pages ou de vos articles.

Custom Post Type

Un «Custom Post Type » ou « Type de Contenu » en français sert à ajouter un type de contenu personalisé comme par exemple, une liste de produits, d'événements, etc...

Taximonies

Les taxonomies sont des termes ou des catégories d'un type de contenu personalisé, par exemple si nous avons un Custom Post Type appelé Films, on pourez avoir une Taximonie proposant Romance, Action, ...

···

Damien Flandrin

Je suis développeur web pour l'agence Carredas, je fais principalement du PHP avec Laravel et de l'intégration sur des projets Wordpress.
comments powered by Disqus


Développeur Web - Damien Flandrin