register_block_type()

Définition : register_block_type() est la fonction PHP qui enregistre un type de bloc auprès de WordPress. Elle accepte notamment un dossier contenant block.json et permet de déclarer un rendu serveur.

Comprendre et utiliser

À quoi cela sert ?

Elle fournit au Core une description exploitable du bloc avant son affichage et facilite l’association entre métadonnées, ressources et traitement du contenu.

Comment cela fonctionne ?

Appelée généralement durant init, la fonction peut recevoir un nom et des arguments ou un chemin vers un fichier de métadonnées. Elle retourne un objet WP_Block_Type ou false.

Dans quel contexte l’utiliser ?

L’utiliser dans le fichier principal d’un plugin qui fournit un bloc personnalisé. Un thème peut aussi enregistrer des blocs, mais une fonctionnalité métier persistante appartient normalement au plugin.

Cas concret : ATOOLPHA

Le plugin ATOOLPHA pourrait exposer son bloc « Alerte » depuis un répertoire build/alert contenant block.json et ses ressources compilées.

Exemple de code commenté

Extrait documentaire : le contexte WordPress du plugin/éditeur et les dépendances décrites sont nécessaires ; ne pas coller dans le contenu d’une page.

<?php
add_action( 'init', function () {
    $directory = plugin_dir_path( __FILE__ ) . 'build/alert';
    if ( file_exists( $directory . '/block.json' ) ) {
        register_block_type( $directory );
    }
} );

Décryptage de l’exemple

Le callback init attend que WordPress soit initialisé. Le contrôle de présence évite un enregistrement fondé sur un fichier absent. Le chemin doit être résolu depuis le fichier du plugin concerné.

Résultat attendu

Lorsque le dossier compilé existe, le type peut être enregistré côté PHP et ses assets déclarés par métadonnées sont connus de WordPress.

Atelier pratique de vérification

Sur un environnement local, enregistrer un bloc avec un dossier valide, puis modifier temporairement le nom du dossier transmis. Relever le retour de la fonction et les éventuels messages de diagnostic. Restaurer le chemin et distinguer trois états : enregistré côté PHP, disponible côté JavaScript et réellement insérable dans l’éditeur.

Précautions et limites

Ne pas appeler cette fonction au hasard depuis une page front-end. Vérifier le résultat de registration et la présence du code d’édition ; l’enregistrement PHP seul ne fournit pas automatiquement une interface d’édition fonctionnelle.

Contrôle avant intégration dans un plugin

Journaliser le résultat de registration sur une installation de test, vérifier la disponibilité des assets et tester les collisions de noms. Ne jamais installer une nouvelle déclaration dans une requête publique non prévue.

À ne pas confondre

register_block_type() est la fonction PHP côté serveur ; registerBlockType() fournit la déclaration correspondante dans le code JavaScript de l’éditeur.

Diagnostic et dépannage avancés

Si le bloc se rend côté serveur mais n’est pas insérable dans l’éditeur, examiner la déclaration JavaScript, les dépendances des scripts et les erreurs de chargement.

Notions associées

  • block.json
  • registerBlockType()
  • render_callback

Références officielles

Bouton retour en haut de la page