Tout savoir sur WordPress
Tutoriel WordPress

Les templates sur WordPress

Ce guide liste les templates les plus utilisés dans le CMS WordPress. De la page d’un article à la page d’accueil, ce guide explique le fonctionnement de chacun des templates.

Les templates WordPress (ou modèle de page en français) sont des pièces maîtresses qui permettent de générer les pages de votre site Internet.

Certains de ces modèles sont utilisés sur toutes les pages comme par exemple l’en-tête, le pied de page ou la sidebar. Les autres modèles affichent un contenu dans des conditions spécifiques.

Parmi la quantité des modèles existants, quel fichier de template sera utilisé par WordPress quand il affiche un certain type de contenu ?

La hiérarchie des templates WordPress est disponible sur ce schéma. Il détaille la structure et le fonctionnement de tous les templates.

Pour vous aider à mieux comprendre ce schéma, voici une explication sur les templates WordPress les plus utilisés lors de la création d’un thème.

Page d’accueil

index.php, home.php

Modèle appelé lors de l’initialisation du thème.

Si le fichier home.php n’existe pas, le fichier index.php sera appelé. Attention vous devez obligatoirement avoir un fichier index.php dans votre thème (même vide) sinon il ne sera pas disponible dans l’administration.

On utilise souvent à tort le fichier index.php comme template d’accueil. Il faut savoir qu’index.php n’est qu’un fallback en cas d’oubli d’un fichier. Pour créer une page d’accueil, le fichier a utilisé est home.php

En-tête

header.php

Modèle contenant toutes les balises d’entête et les différentes balises meta.

Pour inclure l’entête dans un modèle, utilisez la fonction get_header().

header-{slug}.php

Il utilise le même fonctionnement que le fichier header.php sauf qu’il faut préciser le slug du fichier dans la fonction d’appel de l’entête. Par exemple, si notre fichier se nomme header-article.php, on affiche le contenu à l’aide de get_header(‘article’).

Pied de page

footer.php

Modèle correspondant au pied de page d’un thème.

Ce fichier peut être appelé grâce à la fonction get_footer().

footer-{slug}.php

Son fonctionnement est le même que le fichier footer.php sauf qu’il faut préciser le slug du fichier dans la fonction d’appel du pied de page. Par exemple, si notre fichier se nomme footer-article.php, on affiche le contenu à l’aide de get_footer('article').

Sidebar

sidebar.php

Modèle contenant les widgets d’un thème.

Pour inclure une sidebar dans un modèle, utilisez la fonction get_sidebar().

sidebar-{slug}.php

Même fonctionnement que le fichier sidebar.php sauf qu’il faut préciser le slug du fichier dans la fonction d’appel de la sidebar. Par exemple, si notre fichier se nomme sidebar-article.php, on affiche le contenu à l’aide de get_sidebar('article').

Pages d’archives

archive.php

Modèle par défaut pour afficher la liste des articles.

Ce modèle est utilisé quand un auteur, une date ou une catégorie est demandé. Si les fichiers category.php, author.php ou date.php existent, ils seront utilisés à la place de archive.php

archive-{post_type}

Il fonctionne de la même manière que le fichier archive.php et il permet d’afficher la liste des articles du Custom Post Type indiqué avec le slug “post_type” du fichier. Par exemple, si notre fichier se nomme archive-voiture.php, on affiche les articles du Custom Post Type avec le slug “voiture”.

category.php

Modèle pour afficher la liste des articles d’une catégorie.

Ce modèle est utilisé pour toutes les catégories. Si le fichier category.php n’existe pas, WordPress utilisera le fichier archive.php

category-{slug}.php, category-{id}.php

Il s’utilise comme que le fichier category.php et il permet d’afficher la liste des articles de la catégorie indiquée soit avec le “slug” ou l'”id” du fichier. Par exemple, si notre fichier se nomme category-porche.php, on affiche les articles de la catégorie avec le slug “porche”.

tag.php

Modèle pour afficher la liste des articles d’un tag.

Ce modèle est utilisé pour tous les tags. Si le fichier tag.php n’existe pas, WordPress utilisera le fichier archive.php

tag-{slug}.php, tag-{id}.php

Son fonctionnement est identique à celui du fichier tag.php et il permet d’afficher la liste des articles du tag indiqué soit avec le “slug” ou l'”id” du fichier. Par exemple, si notre fichier se nomme tag-booster.php, on affiche les articles du tag avec le slug “booster”.

taxonomy.php

Modèle permettant d’afficher la liste des articles d’une taxonomy.

S’il est inexistant, WordPress utilisera le fichier category.php ou archive.php si category.php n’existe pas.

taxonomy-{tanonomy}.php

Il s’utilise comme le fichier taxonomy.php et il permet d’afficher la liste des articles de la taxonomy indiquée avec la “taxonomy” du fichier. Par exemple, si notre fichier se nomme taxonomy-garage.php, on affiche les articles de la taxonomy avec le slug “garage”.

Pages

page.php

Modèle par défaut pour afficher le contenu d’une page.

page-{slug}.php, page-{id}.php

Modèle pour afficher le contenu de la page qui comporte le “slug” ou l'”id” du fichier.

Article

single.php

Modèle par défaut pour afficher le contenu d’un article.

single-{post-type}

Modèle de page pour afficher le contenu de l’article d’un Custom Post Type. Par exemple, si votre Custom Post Type s’appelle “voiture”, le fichier template doit être single-voiture.php

Média

attachment.php

Modèle pour le fichier attaché à un article ou une page qui peut servir à tous les formats possibles : image, vidéo et son.

{mimetype}.php

Son fonctionnement est le même que celui du fichier attachment.php. Il permet d’afficher la page du média indiqué avec son “mimetype”. Par exemple, si notre fichier se nomme image.php, ce modèle servira à afficher les images d’un article.

Auteurs

author.php

Modèle par défaut pour afficher les articles d’un auteur.

Ce modèle est utilisé pour tous les auteurs.

author-{nicename}.php, author-{id}.php

Modèle pour afficher la liste des articles de l’auteur qui comporte le “nicename” ou l'”id” du fichier.

Autres

search.php

Modèle pour afficher le(s) résultat(s) d’une recherche.

404.php

Modèle de la page 404 (page non trouvée).

Quand WordPress n’accède pas à un article ou à une page, la page 404 est appelée.

comments.php

Modèle des commentaires.

En général, sont affichés la liste des derniers commentaires et le formulaire de soumission. Si le modèle comments.php est absent, WordPress inclura le thème par défaut.

Cet article a été mis à jour il y a 4431 jours - Il n'est peut être plus à jour !

Article écrit par Jonathan B.

Jonathan est le co-fondateur de WP Media, startup connue pour être l’auteur de WP Rocket et Imagify. Il est aussi co-organisateur du WordCamp Lyon et Paris.

21 Commentaires

  1. Ça plus le schéma hiérarchique, on a plus de raisons d’avoir des doutes sur la gestion des fichiers WP

  2. Logiquement, votre fichier “index.php” ne devrait jamais servir, sauf lors de la création du thème pour vous apercevoir d’une erreur de catch de template. ;)

  3. @Boiteaweb : Mais pourquoi donc ?

    Perso, j’utilise toujours index.php pour la page d’accueil de mes thèmes.

  4. http://codex.wordpress.org/images/1/18/Template_Hierarchy.png
    Home est appelé AVANT index, le commentaire du 25/12 le dit, ton premier point de l’article est donc incorrect.
    Index.php n’est qu’un fallback si il manque un fichier, donc un thème bien fait n’a pas besoin d’un fallback, il va servir pour une personne qui va modifier le thème et donc servir de debugger, dans l’index tu mets “Vous ne devriez pas lire ça !” ce’st tout :p
    Je dis ça et je ne sais pas créer un thème hein, jetez moi la pierre x)

  5. Oui en effet, merci pour les précisions, vous aviez raison toi et WELOVEWEBDESIGN.

    J’ai édité l’article avec quelques précisions.

  6. Il est a noter que le thème “officiel” TwentyEleven n’utilise pas home.php, mais bien index.php
    :)

    • @monsef147: si vous tapez sur google “créer un modèle de page wordpress”, vous allez avoir pas mal de résultats ;)

  7. Bonjour,
    j’ai beau cherché sur Google, je ne trouve pas comment faire pour avoir une page qui liste toutes mes catégories sur une page, en mettant une image et une description de celle ci, avez vous un lien ou un tuto?
    Merci

  8. Bonjour,
    Je suis en train de travailler sur un thème wordpress déjà existant “Graphy” de son nom.
    Je voudrais savoir s’il y a moyen de mettre une image d’en tete sur chacune des pages. J’ai besoin d’avoir une première page “fixe” qui ne fonctionne pas grâce a des articles mais l’entête ne s’affiche pas dessus…

    Pourriez-vous m’aider s’il vous plait ?

    Merci !

  9. bonjour,

    Merci pour votre site et vos tutos qui m’ont dépanné de nombreuses fois.

    Petite question :
    Je suis actuellement entrain de créer un site qui possède des templates différents par catégories. Jusque la tout va bien j’utilise category-{id}.php

    Mais je voudrais que l’ensemble des articles liés à cette catégorie est le même template que la catégorie en question (j’intègre un fil d’actu propre à chaque catégorie).

    Comment modifier le fichier single.php (ou autre) pour arriver à ce résultat ?

    Merci