Le WordPress d'aujourd'hui, décodé pour les développeurs

FSE

default_wp_template_part_areas : ajouter une zone de template part au Site Editor

Le Site Editor classe ses parties de gabarit par zone. Ce filtre permet d'en déclarer une nouvelle, propre à un thème hybride, en quelques lignes.

Par Clément Hadrot • 28 octobre 2024 • 4 min de lecture • Aucun commentaire
default_wp_template_part_areas : ajouter une zone de template part au Site Editor

default_wp_template_part_areas renvoie un tableau. C’est là toute la mécanique : ce filtre PHP, déclaré dans wp-includes/block-template-utils.php, fournit à l’éditeur de site la liste des zones proposées quand on crée ou classe une partie de gabarit. Par défaut, trois zones existent : en-tête, pied de page, et une zone générique dite « non spécifiée ».

Pour un thème hybride qui structure ses gabarits autour d’une zone récurrente — une bannière d’annonce, une barre latérale de navigation secondaire, un bloc d’introduction répété sur plusieurs modèles — ajouter une zone dédiée simplifie le classement dans l’interface et documente l’intention du thème pour quiconque le reprend ensuite.

Ce que fait réellement une zone de template part

Une zone n’est pas une contrainte technique forte : elle ne restreint pas l’endroit où la partie de gabarit peut être insérée. C’est avant tout une information de classement, affichée dans le sélecteur de parties de gabarit de l’éditeur de site, et utilisée par certains blocs (comme le bloc Template Part lui-même) pour proposer une liste filtrée par zone au moment de l’insertion.

Chaque zone est décrite par un tableau associatif : une clé area qui sert d’identifiant, un label affiché à l’utilisateur, une description optionnelle, et une icon qui reprend un identifiant numérique d’icône Dashicons.

Déclarer une zone supplémentaire

Le filtre s’accroche côté PHP, typiquement dans le fichier functions.php du thème ou dans une extension compagnon :

L'essentiel à retenir : Les zones par défaut sont en-tête, pied de page et zone générale ; Le filtre ajoute une entrée sans toucher au cœur ; L'icône et le libellé se choisissent librement
add_filter( 'default_wp_template_part_areas', function( $areas ) {
    $areas[] = array(
        'area'        => 'bandeau-annonce',
        'label'       => __( 'Bandeau d\'annonce', 'mon-theme' ),
        'description' => __( 'Bandeau affiché en haut des pages promotionnelles.', 'mon-theme' ),
        'icon'        => 'megaphone',
        'area_tag'    => 'div',
    );
    return $areas;
} );

La clé area_tag mérite une attention particulière : elle définit la balise HTML sémantique dans laquelle la partie de gabarit sera enveloppée quand elle est insérée automatiquement dans un modèle (par exemple header ou footer pour les zones natives). Pour une zone personnalisée, une balise neutre comme div convient dans la plupart des cas.

Ce qui change ensuite dans l’éditeur

Une fois le filtre actif, la nouvelle zone apparaît dans deux endroits : dans le panneau de création d’une partie de gabarit (au moment de choisir sa zone d’appartenance), et dans le filtre par zone de la liste des parties de gabarit existantes. Les parties déjà créées ne changent pas de zone automatiquement — il faut rouvrir chacune et lui assigner explicitement la nouvelle zone depuis ses réglages.

Quelques points à vérifier avant de généraliser cette pratique sur un thème :

  • Le slug de la zone doit rester stable dans le temps : le changer revient à recréer une zone différente aux yeux de l’éditeur.
  • Une zone trop spécifique à un projet gagne à être documentée dans le fichier readme du thème, sinon elle devient un mystère pour la personne qui reprend le projet.
  • Les extensions qui listent les zones disponibles pour proposer leurs propres parties de gabarit doivent aussi être compatibles avec cette liste étendue — un test rapide après ajout évite les mauvaises surprises.

Un usage concret : les thèmes multi-zones

Sur un thème conçu pour plusieurs gabarits d’archive différents (articles, portfolio, avis), une zone dédiée aux blocs d’introduction d’archive permet de regrouper ces parties dans l’éditeur sans les confondre avec les en-têtes classiques. Le classement par zone devient alors un vrai outil de navigation, plutôt qu’une case administrative.

Limiter les zones à celles qui ont un sens

Ajouter une zone par gabarit spécifique finit par recréer autant de catégories que de contextes, ce qui annule l’intérêt du classement. Une zone se justifie quand elle regroupe plusieurs parties de gabarit réutilisées à des endroits différents — pas quand elle sert à distinguer un seul élément unique.

En résumé

default_wp_template_part_areas est un filtre discret, mais il change concrètement le confort de travail sur un thème hybride qui manipule beaucoup de parties de gabarit. La clé du bon usage tient en une phrase : une zone par regroupement logique récurrent, pas une zone par élément.

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