La hiérarchie des templates WordPress est le système qui détermine quel fichier PHP de thème WordPress charge pour chaque type de page. Comprendre ce mécanisme est fondamental pour tout développeur ou concepteur de thèmes : il définit quels fichiers créer pour personnaliser l’affichage de chaque type de contenu (page statique, article, catégorie, recherche, 404…).
Le principe est celui du fallback progressif : quand un visiteur accède à une URL, WordPress cherche d’abord le template le plus spécifique possible dans le dossier de votre thème. S’il ne le trouve pas, il remonte automatiquement vers des templates plus génériques, jusqu’à atteindre index.php, le fichier de dernier recours obligatoire dans tout thème WordPress valide.
- WordPress cherche toujours le template le plus spécifique d’abord, puis remonte vers les fichiers génériques.
index.phpest le template de dernier recours : il doit toujours être présent.- La référence visuelle officielle est disponible sur wphierarchy.com.
- Les Page Templates permettent d’assigner un fichier PHP spécifique à une page individuelle depuis l’admin.
- Avec les thèmes Full Site Editing (FSE), les templates sont des fichiers HTML dans
/templates/.
Hiérarchie de templates par type de page
| Type de page | Templates cherchés (du plus spécifique au plus générique) |
|---|---|
| Page d’accueil statique | front-page.php → page.php → index.php |
| Liste d’articles (blog) | home.php → index.php |
| Article unique | single-{post_type}-{slug}.php → single-{post_type}.php → single.php → singular.php → index.php |
| Page statique | page-{slug}.php → page-{id}.php → page.php → singular.php → index.php |
| Catégorie | category-{slug}.php → category-{id}.php → category.php → archive.php → index.php |
| Recherche | search.php → index.php |
| Page 404 | 404.php → index.php |
Créer des templates spécifiques
Il existe deux façons de créer un template dédié à une page. La première : nommer votre fichier selon le slug (page-contact.php). La deuxième : créer un Page Template avec un commentaire PHP /* Template Name: Mon template */ qui permet de le sélectionner depuis l’admin.
Templates et Custom Post Types
Pour un CPT nommé ‘evenement’, WordPress cherche single-evenement.php → single.php → singular.php → index.php. Pour ses archives : archive-evenement.php → archive.php → index.php.
Vérifier quel template est utilisé
Le plugin Query Monitor (gratuit) affiche en temps réel quel template charge pour chaque page, avec toute la chaîne de la hiérarchie parcourue. Indispensable pour déboguer un thème WordPress.
Pour aller plus loin : back office WordPress, dupliquer une page WordPress et thème Astra WordPress.
Boostez votre visibilité avec Oscar Black
Oscar Black est une agence SEO, Google Ads et GEO basée en France.
Demandez un audit gratuit ou découvrez nos services de référencement naturel et de Google Ads.
Comment vérifier quel template charge pour une page WordPress ?
Installez le plugin Query Monitor (gratuit). Il affiche dans la barre d’administration quel fichier template est actif et toute la chaîne de la hiérarchie parcourue.
Quelle est la différence entre page.php et singular.php ?
page.php gère uniquement les pages statiques. singular.php couvre pages et articles. Quand les deux existent, page.php est prioritaire pour les pages.
Les thèmes FSE changent-ils la hiérarchie ?
Avec les thèmes FSE (Full Site Editing), les templates sont des fichiers HTML dans /templates/ gérés via l’éditeur de site. La logique hiérarchique reste similaire mais l’implémentation diffère des thèmes classiques PHP.