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)

Références documentaires officielles

Bouton retour en haut de la page