Šeit ir kopsavilkums par to, kā bloku spraudņi var izmantot WordPress āķus, jo īpaši jauno funkciju Block Hooks, kas ieviesta WordPress 6.4 versijā:
1. Block Hooks principi:
- Automātiska izvietošana: bloki var automātiski novietot sevi, kad saturam tiek pievienots cits bloks, tādējādi novēršot nepieciešamību pēc manuālas ievietošanas.
- Redzamība un kontrole: ievietotais bloks ir redzams redaktorā, un lietotāji saglabā kontroli pār tā automātisko ievietošanu, tādējādi nodrošinot pielāgotu rediģēšanas pieredzi.
2. Ierobežojumi un apsvērumi:
- Block Hooks darbojas tikai nepārveidotās veidnēs, veidņu daļās un modeļos, ko nodrošina motīvi. Tie nedarbojas ziņu saturā, modificētās veidnēs/daļās vai lietotāju ģenerētos modeļos.
- Sākot ar WordPress 6.4, automātiskā ievietošana nedarbojas ar blokiem, kuriem ir pielāgota saglabāšanas funkcija, jo tas var izraisīt bloka validācijas kļūdas. Izstrādātājiem ir jāizmanto dinamiskie bloki, lai nodrošinātu saderību.
3. Divi veidi, kā piesaistīt blokus:
a. Izmantojot `block.json`:
- Nodrošina vienkāršu veidu, kā piesaistīt trešās puses bloku, taču ar ierobežotu elastību.
- Rekvizīts "blockHooks" failā "block.json" ļauj norādīt piesaistītā bloka pozīciju (pirms, pēc, pirmais bērns, pēdējais bērns).
b. Izmantojot filtru `hooked_block_types`:
- Piedāvā lielāku elastību, salīdzinot ar “block.json”, ļaujot piesaistīt nosacījumus, pamatojoties uz veidni, veidnes daļu vai modeli.
- Atzvanīšanas funkcija `hooked_block_types` saņem tādus parametrus kā piesaistītie bloki, pozīcija, enkura bloks un konteksts.
4. Apsvērumi izstrādātājiem:
- Vietnes redaktorā tiks parādīti piesaistītie bloki, ļaujot lietotājiem kontrolēt to izvietojumu. Izstrādātāji nevar uzspiest bloka pozīciju, ja lietotājs vēlas to pārvietot.
- Nav ieteicams pievienot statiskus blokus (ar pielāgotām saglabāšanas funkcijām), jo tas var izraisīt bloku validācijas kļūdas. Dinamiski bloki ir vēlamā izvēle Block Hooks.
- Izstrādātājiem ir jānodrošina, lai viņu piesaistītie bloki būtu saderīgi ar pašreizējo WordPress versiju un tās Block Hooks API.
Rezumējot, jaunā Block Hooks funkcija WordPress 6.4 un jaunākās versijās nodrošina jaudīgu veidu, kā bloķēšanas spraudņi automātiski ievieto blokus noteiktās vietās, vienlaikus ļaujot lietotājiem kontrolēt šo bloku izvietojumu vietnes redaktorā.
Citāts:[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/