Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Bloquer les plugins et les hooks WordPress


Bloquer les plugins et les hooks WordPress


Voici un résumé de la façon dont les plugins de bloc peuvent utiliser les hooks WordPress, en particulier la nouvelle fonctionnalité Block Hooks introduite dans WordPress 6.4 :

1. Principes des crochets de bloc :
- Placement automatique : les blocs peuvent se positionner automatiquement lorsqu'un autre bloc est ajouté au contenu, éliminant ainsi le besoin d'insertion manuelle.
- Visibilité et contrôle : le bloc inséré est visible dans l'éditeur et les utilisateurs conservent le contrôle de son insertion automatique, permettant une expérience d'édition personnalisée.

2. Limites et considérations :
- Les Block Hooks ne fonctionnent que dans les modèles non modifiés, les parties de modèles et les modèles fournis par les thèmes. Ils ne fonctionnent pas dans le contenu de la publication, les modèles/parties modifiés ou les modèles générés par l'utilisateur.
- Depuis WordPress 6.4, l'insertion automatique ne fonctionne pas avec les blocs dotés d'une fonction de sauvegarde personnalisée, car cela peut entraîner des erreurs de validation de bloc. Les développeurs doivent utiliser des blocs dynamiques pour des raisons de compatibilité.

3. Deux façons d'accrocher des blocs :
un. En utilisant `block.json` :
- Fournit un moyen simple d'accrocher un bloc tiers, mais avec une flexibilité limitée.
- La propriété `blockHooks` dans `block.json` permet de spécifier la position du bloc accroché (avant, après, premier enfant, dernier enfant).
b. En utilisant le filtre `hooked_block_types` :
- Offre plus de flexibilité par rapport à `block.json`, permettant un accrochage conditionnel basé sur le modèle, la partie du modèle ou le modèle.
- La fonction de rappel pour `hooked_block_types` reçoit des paramètres tels que les blocs accrochés, la position, le bloc d'ancrage et le contexte.

4. Considérations pour les développeurs :
- Les blocs accrochés apparaîtront dans l'éditeur de site, permettant aux utilisateurs de contrôler leur placement. Les développeurs ne peuvent pas forcer la position d'un bloc si l'utilisateur souhaite le déplacer.
- L'accrochage de blocs statiques (avec des fonctions de sauvegarde personnalisées) n'est pas recommandé, car cela peut provoquer des erreurs de validation de bloc. Les blocs dynamiques sont le choix préféré pour les Block Hooks.
- Les développeurs doivent s'assurer que leurs blocs hookés sont compatibles avec la version actuelle de WordPress et son API Block Hooks.

En résumé, la nouvelle fonctionnalité Block Hooks de WordPress 6.4 et versions ultérieures offre aux plugins de bloc un moyen puissant d'insérer automatiquement leurs blocs dans des emplacements spécifiques, tout en permettant aux utilisateurs de contrôler le placement de ces blocs dans l'éditeur de site.

Citations :
[1] https://github.com/WordPress/gutenberg/issues/54904
[2] https://kinsta.com/blog/wordpress-hooks/
[3] https://essential-blocks.com/block-hooks-everything-you-need-to-know/
[4] https://www.youtube.com/watch?v=ezPHiyhhaoQ
[5] https://developer.wordpress.org/block-editor/reference-guides/packages/packages-hooks/