Her er et sammendrag av hvordan blokkeringsplugins kan bruke WordPress-hooks, nærmere bestemt den nye Block Hooks-funksjonen introdusert i WordPress 6.4:
1. Block Hooks-prinsipper:
- Automatisk plassering: Blokker kan automatisk plassere seg selv når en annen blokk legges til innholdet, noe som eliminerer behovet for manuell innsetting.
- Synlighet og kontroll: Den innsatte blokken er synlig i redigeringsprogrammet, og brukere beholder kontrollen over den automatiske innsettingen, noe som gir mulighet for en tilpasset redigeringsopplevelse.
2. Begrensninger og hensyn:
- Block Hooks fungerer bare i umodifiserte maler, maldeler og mønstre gitt av temaer. De fungerer ikke i innleggsinnhold, modifiserte maler/deler eller brukergenererte mønstre.
– Fra og med WordPress 6.4 fungerer ikke automatisk innsetting med blokker som har en egendefinert lagringsfunksjon, da det kan resultere i blokkvalideringsfeil. Utviklere bør bruke dynamiske blokker for kompatibilitet.
3. To måter å hekte blokker på:
en. Bruker `block.json`:
- Gir en enkel måte å koble en tredjepartsblokk på, men med begrenset fleksibilitet.
- `blockHooks`-egenskapen i `block.json` tillater å spesifisere posisjonen til den hektede blokken (før, etter, første barn, siste barn).
b. Bruke «hooked_block_types»-filteret:
- Tilbyr mer fleksibilitet sammenlignet med `block.json`, og tillater betinget hooking basert på malen, maldelen eller mønsteret.
- Tilbakeringingsfunksjonen for `hooked_block_types` mottar parametere som hektede blokker, posisjon, ankerblokk og kontekst.
4. Hensyn for utviklere:
- Hooked blokker vil vises i Site Editor, og gir brukere kontroll over plasseringen. Utviklere kan ikke tvinge en blokks posisjon hvis brukeren ønsker å flytte den.
- Tilkobling av statiske blokker (med tilpassede lagringsfunksjoner) anbefales ikke, da det kan forårsake blokkvalideringsfeil. Dynamiske blokker er det foretrukne valget for Block Hooks.
– Utviklere bør sørge for at deres hektede blokker er kompatible med den gjeldende WordPress-versjonen og dens Block Hooks API.
Oppsummert gir den nye Block Hooks-funksjonen i WordPress 6.4 og utover en kraftig måte for blokkeringsplugins til automatisk å sette inn blokker på bestemte steder, samtidig som det lar brukere kontrollere plasseringen av disse blokkene i Site Editor.
Sitater:[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/