vendredi 25 septembre 2026

À propos

Contact

Thèmes

Template parts et éditeur de site WordPress : le mode d’emploi complet

Comment fonctionne le bloc Template Part, où placer header.html et footer.html, et comment l'éditeur de site de WordPress 6.0 exploite ces zones réutilisables.

Par Clément Hadrot • 20 juillet 2022 • 5 min de lecture • Aucun commentaire
Template parts et éditeur de site WordPress : le mode d'emploi complet

Depuis que la Full Site Editing s’est stabilisée avec WordPress 6.0 sorti en mai dernier, une question revient souvent dans les échanges avec mes clients : comment modifier l’en-tête ou le pied de page sans toucher au code du thème ? La réponse tient en trois mots : les template parts.

Ce mécanisme, disponible depuis WordPress 5.9 et largement enrichi dans l’éditeur de site de la version 6.0, permet de découper un gabarit en zones réutilisables, modifiables visuellement, et partagées entre tous les templates qui les appellent. Voyons comment ça fonctionne concrètement, du fichier source jusqu’à l’interface de l’éditeur.

Qu’est-ce qu’un template part, exactement

Un template part est un fragment de contenu composé de blocs Gutenberg, destiné à être inséré dans plusieurs gabarits différents. Les deux exemples les plus courants sont l’en-tête et le pied de page, mais rien n’empêche de créer un template part pour une bannière promotionnelle, une barre latérale, ou un bloc d’appel à l’action répété sur plusieurs pages.

Dans un thème bloc, les template parts par défaut vivent dans le dossier parts/ à la racine du thème, sous forme de fichiers HTML contenant des commentaires de bloc, exactement comme les fichiers du dossier templates/.

L'essentiel à retenir : Un template part est un fragment HTML réutilisable stocké en base ou en fichier ; wp_template_part est le type de contenu qui les gère ; L'éditeur de site de WP 6.0 les rend modifiables visuellement
mon-theme/
├── theme.json
├── templates/
│   └── index.html
└── parts/
    ├── header.html
    └── footer.html

Pour qu’un template soit reconnu et proposé automatiquement dans l’éditeur, il faut également le déclarer dans theme.json, sous la clé templateParts :

{
  "templateParts": [
    {
      "name": "header",
      "title": "En-tête",
      "area": "header"
    },
    {
      "name": "footer",
      "title": "Pied de page",
      "area": "footer"
    }
  ]
}

La propriété area indique à WordPress la fonction sémantique du fragment : header, footer, ou uncategorized pour tout le reste. Cela conditionne notamment la balise HTML générée automatiquement autour du contenu quand on insère le bloc dans l’éditeur.

Le bloc Template Part dans l’éditeur

Une fois ces fichiers en place, un utilisateur peut insérer le bloc Template Part depuis l’inserteur de blocs, choisir parmi les zones déclarées, et le fragment s’affiche directement dans la page en cours d’édition. Dans un fichier de gabarit, on l’appelle avec le commentaire de bloc suivant :

<!-- wp:template-part {"slug":"header","tagName":"header"} /-->

L’attribut slug correspond au nom du fichier sans extension, et tagName permet de choisir la balise HTML englobante, ici header plutôt que la div par défaut. C’est une bonne pratique pour conserver une structure sémantique propre, dans la continuité de ce qu’on ferait sur un thème accessible.

wp_template_part, le type de contenu sous le capot

Techniquement, chaque template part activé dans l’éditeur devient une entrée du type de contenu personnalisé wp_template_part, stockée en base de données comme n’importe quel article. Tant que l’utilisateur n’a pas modifié le fragment depuis l’éditeur de site, WordPress continue de lire directement le fichier HTML du thème. Dès qu’une modification est enregistrée via l’interface, une entrée est créée en base et prend le pas sur le fichier source, exactement selon le même mécanisme que les templates complets.

Ce comportement, hérité du système de résolution de templates introduit avec la Full Site Editing, permet de livrer un thème avec des valeurs par défaut solides tout en laissant l’utilisateur final personnaliser librement son en-tête ou son pied de page sans toucher au code.

  • Fichier du thème non modifié : WordPress sert directement parts/header.html
  • Fragment personnalisé via l’éditeur : WordPress sert la version stockée en base, de type wp_template_part
  • Possibilité de revenir à la version du thème via l’option « Effacer la personnalisation » dans l’éditeur de site

L’éditeur de site : modifier visuellement ces zones

L’éditeur de site, accessible depuis Apparence → Éditeur sur un thème bloc, propose une entrée dédiée aux template parts, listant tous ceux déclarés dans theme.json. On peut y accéder directement, indépendamment d’un template complet, pour retoucher uniquement l’en-tête par exemple, avec un aperçu isolé du fragment.

Cette séparation entre templates complets et template parts est l’un des grands apports de l’éditeur de site version 6.0 : elle rend beaucoup plus clair ce qui appartient à la structure globale du site et ce qui est un fragment réutilisable, une distinction qui manquait cruellement aux premières versions expérimentales de la Full Site Editing en 2021.

Mon conseil : découpez toujours vos template parts par fonction, pas par page. Un en-tête unique réutilisé partout est plus facile à maintenir que trois en-têtes légèrement différents dupliqués dans plusieurs templates, même si la tentation existe au début d’un projet.

En résumé

Les template parts structurent un thème bloc en zones réutilisables, gérées par le type de contenu wp_template_part, et rendues modifiables visuellement grâce à l’éditeur de site. Bien les organiser dès la conception du thème, en les déclarant proprement dans theme.json et en leur attribuant la bonne area sémantique, facilite énormément la vie des utilisateurs finaux qui souhaitent personnaliser leur site sans écrire une ligne de code.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi