Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Black Friday: -25€ dès 75€ sur les livres en ligne, vidéos... avec le code BWEEK25. J'en profite !
  1. Livres et vidéos
  2. WordPress
  3. La hiérarchie des templates
Extrait - WordPress Conception et personnalisation des thèmes (4e édition)
Extraits du livre
WordPress Conception et personnalisation des thèmes (4e édition)
3 avis
Revenir à la page d'achat du livre

La hiérarchie des templates

L’objectif

Les thèmes pour WordPress sont constitués de nombreux fichiers appelés template qui prennent en charge l’affichage des pages demandées par les visiteurs. Il n’y a pas qu’un seul fichier de mise en page pour l’ensemble du site WordPress.

À chaque type de page du site correspond un fichier de mise en page, un template. Dans ce chapitre nous allons passer en revue tous ces templates qui s’utilisent de manière très précise selon une hiérarchie parfaitement définie.

Voici le lien sur le codex de WordPress, expliquant cette hiérarchie des templates : https://developer.wordpress.org/themes/basics/template-hierarchy/

La hiérarchie des templates

Pour visualiser un schéma interactif, utilisez cette URL : http://wphierarchy.com. Le schéma de la hiérarchie des templates se lit de gauche à droite.

images/v2C04-001.png

La première étape consiste pour WordPress à déterminer le type de page demandé à l’affichage. Cela peut être :

  • une page d’archive : Archive Page,

  • une page seule, article ou page : Singular Page,

  • une page d’accueil : Site Front Page ou Blog Posts Index Page,

  • une page de commentaires : Comments Popup Page,

  • une page d’erreur (page non trouvée) : Error 404 Page ou,

  • une page d’affichage du résultat d’une recherche : Search Result Page.

La deuxième étape consiste à déterminer quel est le template à utiliser, selon la présence même de ces fichiers de mise en page. Prenons tout de suite un exemple précis. Supposons qu’un visiteur ait demandé d’afficher un article en page seule.

Dans la hiérarchie des templates, voici le chemin utilisé par WordPress pour afficher cet article en page seule :

1. WordPress détermine qu’il s’agit d’une page seule : type Singular Page,

2. WordPress détermine qu’il s’agit d’un article : type Single Post Page,

3. WordPress détermine qu’il s’agit du contenu rédactionnel : type Blog...

Les templates

Dans ce schéma de la hiérarchie des templates, plusieurs types de templates existent.

1. Les templates de variable

Les templates de variable (en rouge sur le schéma du codex) sont à créer par le concepteur du thème, lorsqu’il souhaite avoir une mise en page spécifique pour un contenu spécifique.

Prenons un premier exemple : le concepteur du thème veut avoir une mise en page unique pour afficher la liste des contenus rédactionnels de l’auteur christophe. Le concepteur devra créer un template nommé author-christophe.php. Christophe étant le nicename, le pseudonyme dans le profil de l’utilisateur.

images/v2C04-003.png

Deuxième exemple : le concepteur du thème veut avoir une mise en page unique pour l’affichage des contenus utilisant le mot-clé voyage, il faut qu’il crée un template nommé tag-voyage.php.

images/v2C04-004.png

Vous comprenez la règle de nommage : dans ces templates la partie variable, $variable, doit utiliser comme libellé, le nom du type de contenu à afficher :

  • author-$nicename.php, donne author-christophe.php pour le pseudonyme christophe.

  • tag-$slug.php, donne tag-voyage.php pour le mot-clé voyage.

2. Les templates secondaires

Les templates secondaires (en bleu clair sur le schéma du codex) ne sont pas obligatoires et sont donc souvent absents des thèmes. Ils permettent de définir des mises...

Les pages d’accueil

WordPress permet de gérer plusieurs types de page d’accueil, en fonction de ce que vous souhaitez y afficher.

images/v2C04-030.png

1. La page d’accueil de type blog

Par défaut, WordPress affiche dans la page d’accueil, la liste des derniers articles publiés. Dans ce cas, c’est le template index.php qui est utilisé. Dans le menu Réglages, choisissez Lecture. Dans les options La page d’accueil affiche, laissez cochée l’option Les derniers articles.

images/v2C04-005.png

2. La page d’accueil de type site classique

Pour la page d’accueil, vous le savez, vous pouvez afficher, non pas la liste des derniers articles, mais une page spécifique précédemment créée. Dans les mêmes réglages, choisissez l’option une page statique. Puis dans les deux listes déroulantes (Page d’accueil et Page des articles), choisissez la page qui doit être utilisée pour la page d’accueil et celle pour l’affichage des articles.

images/v2C04-006.png

Avec ce réglage, c’est le fichier front-page.php qui est utilisé pour l’affichage de la page d’accueil, si ce template existe bien sûr. Et lorsque vous affichez la liste des derniers articles de votre site, la partie blog de celui-ci, c’est le fichier home.php qui est utilisé, là encore, si ce template existe.

Les templates des articles

Plusieurs templates permettent de prendre en charge l’affichage des articles.

1. Les types d’affichage

Une fois que WordPress a déterminé que le type de page à afficher est une page seule (Singular Page) et qu’il s’agit d’un article (Single Post Page), il doit déterminer quel est le contenu à afficher.

Nous avons trois possibilités :

  • si l’affichage concerne un fichier joint (comme les images incluses dans les articles), c’est le type Attachment Post qui est choisi.

  • si l’affichage concerne un contenu personnalisé (Custom Post Type dans la terminologie de WordPress), c’est le type Custom Post qui est choisi.

  • si l’affichage concerne un article, c’est le type Blog Post qui est choisi.

images/v2C04-007.png

2. Les templates des fichiers joints

Les fichiers joints sont par exemple les images que vous insérez dans les articles. Les templates peuvent être personnalisés en fonction du type MIME des fichiers joints. Voici le lien vers la page Wikipedia sur les types MIME : http://fr.wikipedia.org/wiki/Type_MIME

Dans ce cas, vous pouvez créer un template spécifique selon le type MIME du fichier. Les templates dédiés seront nommés avec la syntaxe $typemime.php.

  • Si c’est une image, le template sera nommé image.php.

  • Si c’est un fichier bureautique, le template dédié devra être nommé...

Les templates des pages

Vous avez à votre disposition deux types de page pour gérer l’affichage des pages statiques de vos sites WordPress : les pages standards et les modèles de page.

1. Les types de page

Une fois que WordPress a déterminé que la page à afficher est une page seule (Singular Page), qu’il s’agit d’une page statique (Static Page) et qu’il s’agit d’un modèle de page (Page Template), WordPress doit déterminer le type de template : soit c’est un template standard (Default Template), soit c’est un template personnalisé (Custom Template).

images/v2C04-011.png

2. Les modèles de page

Vous le savez, WordPress permet de créer et d’utiliser des modèles de page personnalisés, afin d’avoir une mise en page et une mise en forme pour des pages spécifiques. Tous ces modèles sont accessibles lorsque vous créez vos pages, dans l’onglet Document, dans le volet Attributs de la page, dans la liste déroulante Modèle.

images/C04-001N.png

Le nom des templates des pages est laissé libre, ils utilisent la syntaxe $custom.php.

images/v2C04-014.png

Dans les versions précédentes de WordPress (inférieure à 4.1), il y avait deux modèles de page statique nommés contributors.php et full-width.php. Ces deux fichiers étaient placés dans un dossier nommé page-templates.

3. Les templates...

Les templates des archives

WordPress nous permet d’utiliser des archives selon différents types :

  • archive par catégorie d’article,

  • archive par mot-clé,

  • archive par auteur et

  • archive calendaire.

Nous allons pouvoir utiliser des templates spécifiques pour chaque type d’archive.

1. Les types de page

Une fois que WordPress a déterminé qu’il doit afficher une page d’archive (Archive Page), il détermine le type d’archive :

  • archive des auteurs : Author Archive,

  • archive des catégories des articles : Category Archive,

  • archive pour les types de contenus personnalisés : Custom Post Type Archive,

  • archive pour la taxinomie personnalisée : Custom Taxonomy Archive,

  • archive calendaire : Date Archive,

  • archive pour les mots-clés : Tag Archive.

images/v2C04-017.png

2. Les templates des archives des auteurs

Lorsque le visiteur clique sur le nom d’un auteur d’un contenu, il affiche la liste des contenus rédigés par cet auteur et affiche éventuellement des renseignements du profil de ce rédacteur.

Dans ce cas, ce sont les templates des archives des auteurs qui sont utilisés. Vous pouvez créer et utiliser des templates spécifiques pour tel ou tel auteur. Pour le nom de ces templates, utilisez la syntaxe author-$nicename.php ou author-$id.php. La variable $nicename correspond au pseudonyme de l’utilisateur et $id correspond à son identifiant unique. Si le pseudonyme de l’auteur est christophe, son template spécifique...

Les autres templates

Vous avez à votre disposition trois autres types de page :

  • les pages de commentaires en nouvelle fenêtre : Comments Popup Page,

  • la page d’erreur pour les pages non trouvées : Error 404 Page,

  • la page des résultats d’une recherche : Search Result Page.

Chacun de ces types de page possède son template : comments-popup.php, 404.php et search.php.

images/v2C04-029.png