Tu je zhrnutie toho, ako môžu blokové doplnky používať háčiky WordPress, konkrétne nová funkcia Block Hooks predstavená vo WordPress 6.4:
1. Princípy blokových hákov:
- Automatické umiestnenie: Bloky sa môžu automaticky umiestniť, keď sa do obsahu pridá ďalší blok, čím sa eliminuje potreba manuálneho vkladania.
- Viditeľnosť a ovládanie: Vložený blok je viditeľný v editore a používatelia si ponechajú kontrolu nad jeho automatickým vkladaním, čo umožňuje prispôsobený zážitok z úprav.
2. Obmedzenia a úvahy:
- Blokové háky fungujú iba v neupravených šablónach, častiach šablón a vzoroch poskytovaných témami. Nefungujú v obsahu príspevkov, upravených šablónach/častiach alebo vzoroch vytvorených používateľmi.
- Od verzie WordPress 6.4 nefunguje automatické vkladanie s blokmi, ktoré majú vlastnú funkciu ukladania, pretože môže viesť k chybám overenia blokov. Vývojári by mali kvôli kompatibilite používať dynamické bloky.
3. Dva spôsoby uchytenia blokov:
a. Pomocou `block.json`:
- Poskytuje jednoduchý spôsob pripojenia bloku tretej strany, ale s obmedzenou flexibilitou.
- Vlastnosť `blockHooks` v `block.json` umožňuje špecifikovať polohu hákového bloku (pred, po, prvé dieťa, posledné dieťa).
b. Pomocou filtra `hooked_block_types`:
- Ponúka väčšiu flexibilitu v porovnaní s `block.json`, čo umožňuje podmienené hákovanie na základe šablóny, časti šablóny alebo vzoru.
- Funkcia spätného volania pre `hooked_block_types` prijíma parametre, ako sú viazané bloky, pozícia, kotviaci blok a kontext.
4. Úvahy pre vývojárov:
- V editore stránok sa zobrazia zahnuté bloky, ktoré používateľom poskytnú kontrolu nad ich umiestnením. Vývojári nemôžu vynútiť polohu bloku, ak ho chce používateľ presunúť.
- Zavesenie statických blokov (s vlastnými funkciami ukladania) sa neodporúča, pretože môže spôsobiť chyby overenia blokov. Dynamické bloky sú preferovanou voľbou pre blokové háky.
- Vývojári by sa mali uistiť, že ich hákové bloky sú kompatibilné s aktuálnou verziou WordPress a jej Block Hooks API.
Stručne povedané, nová funkcia Block Hooks vo WordPress 6.4 a novších verziách poskytuje pre blokové doplnky účinný spôsob, ako automaticky vkladať svoje bloky na konkrétne miesta, pričom používateľom stále umožňuje ovládať umiestnenie týchto blokov v editore stránok.
Citácie:[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/