# register_block_template génère un gabarit minimal sans thème complet

> developer.wordpress.org décrit register_block_template comme un moyen d'enregistrer par code un gabarit de bloc, sans construire un thème complet ni activer l'édition de site.

- Auteur : Clément Hadrot
- Publié le : 2024-12-05
- Mis à jour le : 2024-12-05
- Catégorie : Headless &amp; API
- URL : https://wpmoderne.dev.wordpress-developpement.fr/headless/register-block-template-gabarit-minimal-sans-theme-complet/

## L’essentiel

- La fonction est arrivée avec WordPress 6.7 en novembre 2024
- Elle s'utilise depuis un plugin, indépendamment du thème actif
- Elle ne remplace pas un thème complet pour un site affiché nativement

La documentation de developer.wordpress.org décrit `register_block_template()`, apparue avec WordPress 6.7 en novembre 2024, comme un moyen d'enregistrer par code un gabarit de bloc pour un type de contenu donné, sans nécessiter un thème complet compatible avec l'éditeur de site ni activer l'ensemble des fonctionnalités de l'édition complète de site sur le projet.

Pour un projet headless où WordPress ne sert jamais réellement de rendu visuel au visiteur final, cette fonction permet malgré tout de profiter de l'éditeur de blocs pour structurer certains contenus internes, comme des gabarits de fiches produit destinés uniquement à être consultés par les équipes éditoriales avant export vers le front.

## Pourquoi structurer un contenu interne avec des blocs, en headless

Un contenu purement transmis via l'API REST n'a en théorie pas besoin de gabarit visuel WordPress, puisque le rendu final appartient entièrement au front. Mais certaines équipes éditoriales préfèrent composer visuellement leur contenu avec l'éditeur de blocs plutôt que de remplir des champs personnalisés isolés, ce qui rend un gabarit de prévisualisation cohérent particulièrement utile en interne.

## Déclarer un gabarit minimal pour un type de contenu personnalisé

```
add_action( 'init', function() {
    register_block_template( 'mon-plugin//fiche-produit', array(
        'title'       => 'Fiche produit',
        'description' => 'Gabarit de prévisualisation interne pour une fiche produit',
        'content'     => '<!-- wp:heading --><h2>' . __( 'Description', 'mon-plugin' ) . '</h2><!-- /wp:heading -->' .
                          '<!-- wp:paragraph --><p></p><!-- /wp:paragraph -->',
    ) );
} );
```

Ce gabarit s'associe ensuite à un type de contenu personnalisé via son fichier `block-templates` ou par une correspondance déclarée au moment de l'enregistrement du type de contenu, sans jamais nécessiter d'activation complète du support des thèmes basés sur des blocs.

> L'essentiel à retenir : La fonction est arrivée avec WordPress 6.7 en novembre 2024 ; Elle s'utilise depuis un plugin, indépendamment du thème actif ; Elle ne remplace pas un thème complet pour un site affiché nativement

## Variantes selon le type de contenu concerné

Pour un type de contenu `fiche_produit`, un gabarit peut préremplir la structure attendue par le front : un titre, une description, une galerie. Pour un type de contenu `page_evenement`, un gabarit différent proposera plutôt une structure avec date, lieu et description, adaptée à ce contenu précis.

```
register_block_template( 'mon-plugin//page-evenement', array(
    'title'   => 'Page événement',
    'content' => '<!-- wp:paragraph --><p>' . __( 'Date et lieu à préciser ici.', 'mon-plugin' ) . '</p><!-- /wp:paragraph -->',
) );
```

## Pourquoi novembre 2024 change la donne pour ce genre de projet

Avant l'arrivée de cette fonction, la seule façon d'obtenir un gabarit de bloc pour un type de contenu personnalisé consistait à construire un thème basé sur des blocs dans son intégralité, avec son fichier `theme.json` et l'ensemble des templates associés, un investissement disproportionné pour un simple usage de prévisualisation interne dans un projet où le rendu final n'appartient jamais à WordPress.

Cette fonction referme donc un écart resté longtemps ouvert entre les projets headless, qui n'ont jamais besoin d'un thème complet, et les équipes éditoriales, qui apprécient malgré tout de composer visuellement leur contenu plutôt que de remplir des champs isolés sans aperçu structuré.

## Les limites de cette approche

- Le gabarit ne s'affiche que dans l'éditeur, jamais côté visiteur d'un site classique sans thème complet
- Il ne remplace pas un vrai thème basé sur des blocs pour un site rendu nativement par WordPress
- Il reste une simple aide à la saisie, pas une garantie de structure imposée au niveau des données

> Un gabarit de prévisualisation bien pensé réduit les allers-retours entre l'équipe éditoriale et l'équipe technique, sans avoir à construire un thème complet uniquement pour cet usage interne.

## En résumé

`register_block_template()` permet d'apporter une structure éditoriale cohérente à un contenu interne, même dans un projet où WordPress ne sert jamais de rendu final au visiteur, sans les efforts nécessaires à la construction d'un thème complet. Cette recette ne traite pas l'éditeur de site dans son ensemble, qui suppose une approche bien plus large que ce simple usage ciblé.
