Bloc dynamique

Définition : Un bloc dynamique produit tout ou partie de son HTML au moment où WordPress affiche la page. Son rendu serveur peut utiliser des données actuelles plutôt qu’un HTML figé lors de l’édition.

Comprendre et utiliser

À quoi cela sert ?

Il est approprié aux listes d’articles récents, données calculées ou affichages qui doivent refléter une modification de contenu sans éditer chaque publication.

Comment cela fonctionne ?

Le Core invoque une fonction de rendu associée au type. Les attributs sont transmis à cette fonction et la sortie doit être échappée et éventuellement mise en cache selon son coût.

Dans quel contexte l’utiliser ?

Choisir ce modèle lorsqu’un bloc affiche des informations de la base WordPress qui doivent rester fraîches. Pour une phrase stable, un bloc statique sera souvent plus simple.

Cas concret : ATOOLPHA

Sur une page de ressources ATOOLPHA, afficher automatiquement le nombre d’articles publiés dans une zone de statistiques éditoriales.

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 () {
    register_block_type( 'atoolpha/post-count', array(
        'render_callback' => function () {
            $counts = wp_count_posts( 'post' );
            return '<p>' . esc_html( (string) $counts->publish ) . ' articles</p>';
        },
    ) );
} );

Décryptage de l’exemple

Le rendu calcule le nombre actuel d’articles publiés via une API WordPress. Il ne constitue qu’une démonstration côté PHP : il faut ajouter l’interface d’éditeur et les métadonnées nécessaires à un bloc publiable.

Résultat attendu

Chaque affichage serveur retourne un paragraphe reflétant le nombre de publications selon les données courantes.

Atelier pratique de vérification

Créer un bloc compteur dans un plugin de test et noter son HTML sur deux publications. Ajouter un article public, puis recharger les deux pages sans les éditer. Comparer le résultat et contrôler le cache de page si les chiffres restent inchangés. Mesurer également le coût de son rendu répétitif.

Précautions et limites

Une callback dynamique s’exécute lors du rendu : éviter les requêtes lourdes répétées, gérer le cache et ne jamais injecter des données non échappées dans le HTML.

Contrôle avant intégration dans un plugin

Mesurer le temps et le nombre de requêtes du callback lors d’une consultation réelle. Évaluer si un cache est pertinent, et ne jamais exposer au public un résultat lié à une donnée confidentielle.

À ne pas confondre

Le bloc statique stocke son balisage ; le bloc dynamique calcule la réponse via un traitement serveur au moment de l’affichage.

Diagnostic et dépannage avancés

Si le rendu change dans l’administration mais pas sur le front-end, examiner le cache de page et les dépendances de données avant de suspecter le code du bloc.

Notions associées

  • render_callback
  • render.php (bloc)
  • Bloc statique

Références officielles

Bouton retour en haut de la page