get_template_part()
Définition : get_template_part() charge un fragment de template PHP réutilisable dans un thème WordPress classique. La fonction accepte un slug et une variante, permettant de partager un rendu entre plusieurs modèles.
Terminologie
Nom technique : get_template_part()
Appellations : Nom principal utilisé
À quoi cela sert, concrètement
Elle évite de recopier le HTML et les appels PHP des cartes, bandeaux ou extraits d’articles. Elle contribue à séparer les templates généraux des composants d’affichage réutilisables.
Fonctionnement détaillé
WordPress cherche notamment des fichiers au format slug-name.php puis slug.php, en respectant les possibilités de surcharge d’un thème enfant. Un tableau d’arguments peut être transmis au fragment depuis WordPress 5.5.
Quand l’utiliser : contexte et choix techniques
À utiliser dans un template PHP lorsqu’un même composant apparaît dans plusieurs vues. Ne pas l’utiliser pour accéder à n’importe quel fichier du serveur ou exposer des chemins construits directement depuis l’entrée utilisateur.
Situation professionnelle réaliste
Une liste d’articles insère le fichier template-parts/card.php pour chaque résultat, en transmettant la variante visuelle compacte.
Exemple pratique — PHP commenté
Exemple pédagogique : adapter le nom du thème, les fichiers et les conditions à un environnement de développement. Il ne constitue pas une preuve d’exécution sur ATOOLPHA.
<?php
// Dans un template PHP classique.
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
get_template_part( 'template-parts/card', null, array(
'compact' => true,
) );
}
}
// Dans template-parts/card.php :
// $args['compact'] peut être consulté par le fragment.
Décryptage de l’exemple, étape par étape
La boucle prépare le contenu courant. get_template_part() charge le fragment une fois par article et lui transmet une option de rendu. Le fichier cible est une ressource du thème, pas un template principal choisi par la hiérarchie.
Résultat observable
Chaque publication peut être rendue avec la même carte. Le fragment ne fait rien si le fichier recherché n’existe pas ; sa logique HTML doit être définie séparément.
Exercice de vérification pratique
Créer un fragment qui affiche the_title() dans un thème de test. Le réutiliser sur une archive et sur une page de recherche ; modifier le fragment et constater l’évolution dans les deux vues.
Pièges, limites et sécurité
Toujours vérifier le comportement lorsque le fragment est absent. Les tableaux $args ne remplacent pas la validation et l’échappement des données affichées.
Différences avec les notions voisines
get_template_part() charge un morceau PHP de thème ; la partie de modèle core/template-part d’un thème de blocs interprète du balisage de blocs.
Diagnostic avancé et cas de maintenance
Cas avancé : une carte d’article reste inchangée après modification dans le parent. Si un thème enfant fournit le même fragment, WordPress peut utiliser celui-ci en priorité. Tester l’ordre de résolution des fichiers avant d’ajouter du cache ou de modifier inutilement la boucle de requête.
Termes et fonctions associés
- locate_template()
- Template Part
- Thème classique (Classic Theme)
