Tässä on yhteenveto siitä, kuinka lohkolaajennukset voivat käyttää WordPressin koukkuja, erityisesti WordPress 6.4:ssä esiteltyä uutta Block Hooks -ominaisuutta:
1. Block Hooks -periaatteet:
- Automaattinen sijoittelu: Lohkot voivat asettaa itsensä automaattisesti, kun sisältöön lisätään toinen lohko, jolloin manuaalista lisäämistä ei tarvita.
- Näkyvyys ja ohjaus: Lisätty lohko näkyy editorissa, ja käyttäjät voivat hallita sen automaattista lisäystä, mikä mahdollistaa mukautetun muokkauskokemuksen.
2. Rajoitukset ja huomiot:
- Block Hooks toimii vain muokkaamattomissa malleissa, mallin osissa ja teemojen tarjoamissa kuvioissa. Ne eivät toimi viestisisällössä, muokatuissa malleissa/osissa tai käyttäjien luomissa malleissa.
- WordPress 6.4:stä lähtien automaattinen lisäys ei toimi lohkojen kanssa, joissa on mukautettu tallennustoiminto, koska se voi johtaa lohkon vahvistusvirheisiin. Kehittäjien tulee käyttää dynaamisia lohkoja yhteensopivuuden varmistamiseksi.
3. Kaksi tapaa kiinnittää lohkot:
a. Block.json-tiedoston käyttäminen:
- Tarjoaa yksinkertaisen tavan kytkeä kolmannen osapuolen lohko, mutta rajoitetusti joustavuutta.
- BlockHooks-ominaisuus tiedostossa "block.json" mahdollistaa kiinnitetyn lohkon sijainnin määrittämisen (ennen, jälkeen, ensimmäinen lapsi, viimeinen lapsi).
b. Käyttämällä "hooked_block_types" -suodatinta:
- Tarjoaa enemmän joustavuutta kuin "block.json", mikä mahdollistaa ehdollisen kytkennän mallin, mallin osan tai mallin perusteella.
- Takaisinkutsutoiminto `hooked_block_types` vastaanottaa parametreja, kuten kytketyt lohkot, sijainti, ankkurilohko ja konteksti.
4. Kehittäjien huomioita:
- Kiinnitetyt lohkot näkyvät sivustoeditorissa, jolloin käyttäjät voivat hallita sijoitteluaan. Kehittäjät eivät voi pakottaa lohkon sijaintia, jos käyttäjä haluaa siirtää sitä.
- Staattisten lohkojen kiinnittämistä (muokatuilla tallennustoiminnoilla) ei suositella, koska se voi aiheuttaa lohkon vahvistusvirheitä. Dynaamiset lohkot ovat suositeltu valinta Block Hooksille.
- Kehittäjien tulee varmistaa, että heidän koukussa olevat lohkot ovat yhteensopivia nykyisen WordPress-version ja sen Block Hooks API:n kanssa.
Yhteenvetona voidaan todeta, että uusi Block Hooks -ominaisuus WordPress 6.4:ssä ja sitä uudemmissa versioissa tarjoaa tehokkaan tavan lohkolaajennuksille lisätä lohkonsa automaattisesti tiettyihin paikkoihin, samalla kun käyttäjät voivat hallita lohkojen sijoittelua sivustoeditorissa.
Lainaukset:[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/