Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Blokkeer plug-ins en WordPress-hooks


Blokkeer plug-ins en WordPress-hooks


Hier is een samenvatting van hoe blokplug-ins WordPress-hooks kunnen gebruiken, met name de nieuwe Block Hooks-functie die is geïntroduceerd in WordPress 6.4:

1. Blokhakenprincipes:
- Automatische plaatsing: Blokken kunnen zichzelf automatisch positioneren wanneer een ander blok aan de inhoud wordt toegevoegd, waardoor handmatig invoegen overbodig wordt.
- Zichtbaarheid en controle: het ingevoegde blok is zichtbaar in de editor en gebruikers behouden de controle over de automatische invoeging, waardoor een aangepaste bewerkingservaring mogelijk is.

2. Beperkingen en overwegingen:
- Block Hooks werken alleen in ongewijzigde sjablonen, sjabloononderdelen en patronen die door thema's worden geleverd. Ze functioneren niet in berichtinhoud, gewijzigde sjablonen/onderdelen of door gebruikers gegenereerde patronen.
- Vanaf WordPress 6.4 werkt automatisch invoegen niet met blokken die een aangepaste opslagfunctie hebben, omdat dit kan resulteren in blokvalidatiefouten. Ontwikkelaars moeten dynamische blokken gebruiken voor compatibiliteit.

3. Twee manieren om blokken vast te haken:
A. Met `block.json`:
- Biedt een eenvoudige manier om een ​​blok van derden aan te sluiten, maar met beperkte flexibiliteit.
- Met de eigenschap `blockHooks` in `block.json` kunt u de positie van het gekoppelde blok opgeven (voor, na, eerste kind, laatste kind).
B. Met behulp van het `hooked_block_types` filter:
- Biedt meer flexibiliteit vergeleken met `block.json`, waardoor voorwaardelijke hooking mogelijk is op basis van de sjabloon, het sjabloongedeelte of het patroon.
- De callback-functie voor `hooked_block_types` ontvangt parameters zoals de gekoppelde blokken, positie, ankerblok en context.

4. Overwegingen voor ontwikkelaars:
- Gekoppelde blokken verschijnen in de Site-editor, waardoor gebruikers controle hebben over hun plaatsing. Ontwikkelaars kunnen de positie van een blok niet forceren als de gebruiker het wil verplaatsen.
- Het koppelen van statische blokken (met aangepaste opslagfuncties) wordt niet aanbevolen, omdat dit blokvalidatiefouten kan veroorzaken. Dynamische blokken hebben de voorkeur voor Block Hooks.
- Ontwikkelaars moeten ervoor zorgen dat hun gekoppelde blokken compatibel zijn met de huidige WordPress-versie en de Block Hooks API.

Samenvattend biedt de nieuwe Block Hooks-functie in WordPress 6.4 en hoger een krachtige manier voor blokplug-ins om automatisch hun blokken op specifieke locaties in te voegen, terwijl gebruikers nog steeds controle hebben over de plaatsing van die blokken binnen de Site Editor.

Citaties:
[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/