# Enregistrement de bloc côté serveur

> Déclaration en PHP d'un bloc Gutenberg qui associe ses métadonnées à une fonction de rendu exécutée sur le serveur au moment de l'affichage.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/enregistrement-bloc-serveur/

Un bloc qui affiche les trois derniers articles ou une météo en temps réel ne peut pas se contenter de sauvegarder du HTML figé : son contenu doit être recalculé à chaque visite. C'est cette contrepartie côté serveur de l'enregistrement JavaScript qui rend cela possible.

## Comment ça fonctionne

Depuis WordPress 5.8, la fonction `register_block_type()` peut lire directement un fichier `block.json` et y associer une fonction `render_callback` pour la partie dynamique :

```
register_block_type( __DIR__ . '/build', array(
  'render_callback' => 'afficher_bloc_meteo',
) );

function afficher_bloc_meteo( $attributs, $contenu ) {
  return '<p>Température actuelle : ' . esc_html( recuperer_temperature() ) . '</p>';
}
```

Quand un `render_callback` est fourni, WordPress ignore le contenu statique sauvegardé en base par l'éditeur et affiche systématiquement le résultat de cette fonction PHP à la place.

## À ne pas confondre

- Un bloc entièrement statique (comme un simple paragraphe) n'a besoin d'aucun enregistrement côté serveur : seul le fichier `block.json` et le code JavaScript suffisent.
- Le fichier `block.json` doit rester la source de vérité des métadonnées (nom, catégorie, attributs) partagée entre PHP et JavaScript, plutôt que de dupliquer ces informations à deux endroits.
- Le troisième argument reçu par la fonction de rendu est l'instance `WP_Block`, qui donne accès au contexte du bloc parent, utile par exemple dans une boucle de requête imbriquée.
- Un bloc dynamique n'a généralement pas besoin de fonction `save()` côté JavaScript, ou alors une fonction qui retourne simplement `null`, puisque le contenu final vient toujours du PHP.
