Wordpress utilise une convention de nommage particulière pour attribuer des templates (fichiers PHP) aux différentes pages du site. Cette convention est représentée dans le schéma suivant :
Les cases grises correspondent à des types de page, les trois autres couleurs sont des noms de templates.
On distingue 6 grandes familles de contenus :
- Les archives : ce sont les pages qui affichent plusieurs contenus.
- Les singles : ce sont les pages qui affichent un seul contenu.
- La page d'accueil : selon votre configuration, cette page peut afficher une page statique ou vos derniers articles
- Le blog : c'est la page qui a été définie comme "page des articles". Elle affiche les derniers articles publiés
- Erreur 404 : c'est la page qui s'affiche quand le contenu demandé est introuvable
- Résultats de recherche : affiche les résultats d'une recherche effectuée via un formulaire interne
Pour chaque page, Wordpress va automatiquement chercher le template correspondant en partant du plus précis (le plus à gauche dans le schéma). S'il ne trouve pas le fichier, il cherchera alors le suivant et ainsi de suite jusqu'au fichier index.php qui sera utilisé par défaut pour tous vos contenus.
Exemple : page d'un article
Il s'agit d'un contenu seul (single), nous regarderons donc la deuxième ligne Singular Page.
Il s'agit d'un article (post) et non d'une page. Nous sommes donc dans le cas Single Post Page.
Enfin nous avons trois options :
- Attachment Post : page d'un média
- Custom Post : page d'un type de contenu personnalisé, par exemple un Film. Nous y reviendrons plus tard
- Blog Post : page d'un article
Nous sommes donc dans le dernier cas, celui du Blog Post.
Le premier choix proposé en orange $custom.php est un template variable. Il est utilisé dans le cas où l'article possède un template personnalisé. Nous y reviendrons plus tard.
Comme nous n'avons pas de template personnalisé, nous passons au suivant : le fichier à créer pour la page d'un article est donc single-post.php.
Lorsque nous afficherons la page d'un article Wordpress utilisera donc automatiquement le fichier single-post.php. Si ce dernier n'existe pas, Wordpress cherchera le fichier single.php et ainsi de suite jusqu'à retomber sur index.php.