Introduction à la hiérarchie des modèles WordPress

Publié: 2019-12-11

L'une des questions clés que les utilisateurs de WordPress se posent à un moment de leur vie est la suivante : comment les thèmes WordPress arrivent-ils à afficher des pages différentes selon le contenu que l'on voit ?

La question, en plus d'être totalement légitime, est très intéressante. WordPress est capable d'identifier le contenu qu'il est sur le point de rendre et, selon son type, d'utiliser un modèle ou l'autre. Les thèmes WordPress ne sont rien de plus qu'un ensemble de modèles spécifiques pour chaque type de contenu avec du JavaScript pour les éléments dynamiques et du CSS pour les styles et les couleurs.

Parfait, mais… comment fonctionnent réellement les templates WordPress ? C'est ce que nous allons voir étape par étape tout au long de cet article.

Avant de commencer, permettez-moi de vous montrer une image avec la réponse à cette question :

Hiérarchie des modèles WordPress
Hiérarchie des modèles WordPress.

Il s'agit de la hiérarchie des modèles WordPress. Vous pouvez trouver toutes les informations à ce sujet dans le WordPress Codex, la documentation officielle. Vous pouvez même interagir avec cette hiérarchie dans ce site Web sympa.

Fondamentalement, WordPress utilise une hiérarchie de modèles pour rendre son contenu. Autrement dit, WordPress recherche dans le thème que vous avez actif un fichier PHP spécifique. S'il existe, WordPress rend le contenu à l'aide de ce fichier, que nous appelons modèle. Si ce n'est pas le cas, WordPress recherche le prochain modèle le plus générique dans la hiérarchie. S'il existe, WordPress l'utilise. Sinon, WordPress recherche le modèle suivant dans la hiérarchie… et ainsi de suite. Si WordPress ne peut pas trouver un fichier de modèle spécifique dans votre thème, il utilise le fichier index.php par défaut, le plus générique de tous les modèles.

Maintenant, approfondissons plus en détail la hiérarchie des modèles de certains des contenus WordPress les plus courants.

Modèles de pages

Voyons les modèles que WordPress utilise pour afficher les pages et les types de contenu simples.

Messages et types de messages personnalisés

WordPress examine les fichiers PHP suivants sur votre thème pour afficher un article de blog ou un type d'article personnalisé :

  1. single-{post-type}-{slug}.php : si vous voulez un modèle spécifique pour un article spécifique ou un type d'article spécifique, vous devez créer ce fichier PHP dans votre thème. Son nom inclut le nom du type de publication ( {post-type} ), qui peut être post ou autre chose ( product , si vous utilisez WooCommerce). Et vous devez également taper le slug ou le permalien, appelez-le comme vous voulez, au nom du modèle. Par exemple, si je veux utiliser un modèle spécifique pour ce post, je devrais créer le fichier single-post-introduction-to-the-wordpress-template-hierarchy.php .
  2. single-{post-type}.php : si nous voulons affecter tout le contenu d'un type de publication spécifique (tous les articles ou tous les produits), nous utiliserons ce modèle, dont le nom ne comprend que le nom du type de publication.
  3. single.php : WordPress utilise ce modèle pour afficher n'importe quel contenu unique (un article spécifique, un produit spécifique, etc.).
  4. singular.php : il s'agit d'un autre modèle de niveau supérieur pour afficher un contenu unique de toute sorte.
  5. index.php : si aucun des éléments ci-dessus n'a été trouvé, WordPress utilise ce modèle générique pour rendre votre contenu.

N'oubliez pas que dans le répertoire des thèmes WordPress, vous avez à votre disposition des milliers d'exemples de thèmes WordPress. Je vous recommande d'en télécharger un et d'essayer, comme exercice d'apprentissage, d'inspecter ses fichiers PHP et d'identifier les modèles que je viens de présenter.

Ce faisant, vous pouvez comprendre quels modèles ils utilisent dans la hiérarchie des modèles WordPress et voir le contenu de chacun de ces modèles. Sans aucun doute, si vous voulez en savoir plus sur les thèmes WordPress, c'est quelque chose d'obligatoire à faire. En plus, c'est gratuit !

Pages régulières

Comme pour les articles et autres types d'articles, WordPress utilise une hiérarchie de modèles pour afficher les pages :

  1. Modèle sélectionné : si dans la boîte des attributs de la page lors de l'édition d'une page vous sélectionnez un modèle spécifique, il est toujours prioritaire sur tous les autres. Vous pouvez apprendre à créer des modèles personnalisés ici.
  2. page-{slug}.php : si vous souhaitez qu'une page spécifique ait son propre modèle, créez ce modèle dans un fichier PHP dont le nom contient le slug de la page.
  3. page-{id}.php : vous pouvez également utiliser directement l'ID de la page WordPress où le modèle est appliqué.
  4. page.php : ce modèle s'applique à toutes les pages WordPress, sauf si l'un des modèles précédents dans la hiérarchie a déjà été appliqué.
  5. singular.php : le modèle singulier est le modèle par défaut pour toutes les pages, publications, produits, etc. Ce modèle sera rarement appliqué car la plupart des thèmes de WordPress incluent déjà un modèle page.php .
  6. index.php : comme toujours, il s'agit du modèle de secours par défaut de WordPress.

Essayez maintenant de vérifier à nouveau le thème que vous avez téléchargé auparavant et vous verrez que maintenant vous comprenez un peu mieux les autres fichiers qui y apparaissent. Vous pouvez sûrement maintenant identifier les fichiers PHP pour les modèles de page.

Pages spéciales

Dans WordPress, il existe d'autres pages spéciales qui utilisent également des modèles spécifiques pour afficher le contenu. Un exemple de ceci est la page principale du site Web. N'oubliez pas que la page principale est sélectionnée dans les paramètres de WordPress, dans le sous-menu Lecture . La hiérarchie de modèles suivante est utilisée pour cette page :

  1. front-page.php : si vous utilisez une page statique comme page principale dans WordPress, il essaiera d'abord d'appliquer le modèle front-page.php .
  2. home.php : si le modèle précédent n'est pas trouvé, WordPress essaie d'utiliser ce modèle. Ce modèle est également utilisé si, au lieu de sélectionner une page statique comme page principale, vous avez sélectionné l'option permettant d'afficher vos derniers messages.
  3. index.php : encore une fois, le modèle par défaut est toujours présent.

La page qui affiche les résultats de recherche de votre WordPress est également une page spéciale qui peut avoir son propre modèle. Pour ce faire, vous pouvez utiliser le modèle search.php . Si votre thème ne le définit pas, index.php sera utilisé comme d'habitude.

Enfin, la page affichée lorsque votre site Web renvoie une erreur 404 peut également être configurée avec un modèle WordPress spécifique. Vous devez créer le fichier 404.php dans votre thème, puis ce modèle sera appliqué.

Modèles d'archives

Jusqu'à présent, nous avons vu des modèles pour un seul contenu (sauf dans le cas des résultats de recherche). Mais dans WordPress, il existe également des archives, qui peuvent rendre plus d'un élément dans une page. Voyons quelle hiérarchie de modèles WordPress utilise dans ce cas.

Catégories et étiquettes

WordPress utilise la hiérarchie de modèles suivante pour les catégories :

  1. category-{slug}.php : ce modèle est utilisé pour afficher la liste des contenus (généralement des articles) appartenant à une catégorie spécifique. En particulier, il sera utilisé lors du rendu de la catégorie dont le slug apparaît dans le nom du fichier PHP.
  2. category-{id}.php : si vous préférez utiliser des identifiants de catégorie au lieu de slugs, vous pouvez également le faire. Par exemple, si vous souhaitez appliquer un modèle à la catégorie 13, créez le fichier de modèle avec le nom category-13.php .
  3. category.php : le modèle par défaut pour toutes les catégories.
  4. archive.php : c'est le modèle le plus générique pour les archives dans WordPress.
  5. index.php : encore une fois, si votre thème n'inclut pas de modèle plus spécifique, WordPress utilisera par défaut ce fichier.

La hiérarchie de modèles suivante est utilisée pour les balises :

  1. tag-{slug}.php : si la balise s'appelle interview , nous pouvons utiliser le modèle tag-interview.php au cas où nous voudrions concevoir un modèle spécifique pour cette balise dans WordPress.
  2. tag-{id}.php : nous pouvons également définir le modèle via l'ID de la balise.
  3. tag.php : comme pour category.php , c'est le modèle générique pour les balises.
  4. archive.php : encore une fois, ce modèle sera utilisé si aucun des éléments ci-dessus n'existe.
  5. index.php : comme toujours, c'est le modèle de secours.

Types de publication personnalisés et taxonomies personnalisées

Si nous avons des types de contenu personnalisés, nous pouvons utiliser le modèle archive-{post_type}.phppost_type est le slug du type de publication personnalisé. Cela affichera la liste des contenus pour ce type de publication.

Pour les taxonomies personnalisées, WordPress utilise la hiérarchie de modèles suivante :

  1. taxonomy-{taxonomy}-{term}.php : si vous avez une taxonomie personnalisée appelée jeux vidéo dans WordPress et que vous souhaitez créer un modèle avec un design spécifique pour le terme sports dans cette taxonomie, vous devrez créer le fichier taxonomy-videogames-sports.php pour utiliser ce modèle.
  2. taxonomy-{taxonomy}.php : si vous souhaitez utiliser le même modèle pour tous les termes de taxonomie, utilisez simplement taxonomy-videogames.php , dans l'exemple précédent.
  3. taxonomy.php : c'est le modèle par défaut pour toutes les taxonomies.
  4. archive.php : si aucun des modèles ci-dessus n'existe, cela s'applique.
  5. index.php : encore une fois, il s'agit du modèle de secours par défaut.

Avec toutes ces explications vous devriez déjà avoir tout ce dont vous avez besoin pour créer et identifier des templates dans vos thèmes WordPress.

Pour résumer

Comprendre la hiérarchie des modèles WordPress est essentiel pour pouvoir comprendre les thèmes et même développer les vôtres. Cela ne fait jamais de mal d'y jeter un œil et de savoir comment cela fonctionne pour gagner en confiance lorsque vous commencez à modifier le code PHP du thème que vous utilisez dans notre WordPress.

Il existe d'autres modèles, mais moins souvent utilisés. Quoi qu'il en soit, rappelez-vous que vous pouvez toujours aller consulter la documentation WordPress Codex. Vous y trouverez tout ce qui n'a pas été expliqué ici.

Que pensez-vous de tout cela ? Utilisez-vous toujours des modèles pour votre contenu WordPress ou construisez-vous déjà toutes les conceptions avec des blocs ? N'oubliez pas de me laisser un commentaire ci-dessous si vous avez atteint la fin de l'article. J'aimerais savoir comment vous utilisez les modèles WordPress !

Image sélectionnée par Edvard Alexander Rlvaag sur Unsplash .