Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Blocați pluginurile și cârligele WordPress


Blocați pluginurile și cârligele WordPress


Iată un rezumat al modului în care pluginurile bloc pot utiliza cârlige WordPress, în special noua caracteristică Block Hooks introdusă în WordPress 6.4:

1. Principii pentru cârlige de bloc:
- Plasare automată: Blocurile se pot poziționa automat atunci când un alt bloc este adăugat la conținut, eliminând necesitatea inserării manuale.
- Vizibilitate și control: Blocul inserat este vizibil în editor, iar utilizatorii păstrează controlul asupra inserării sale automate, permițând o experiență de editare personalizată.

2. Limitări și considerații:
- Block Hooks funcționează numai în șabloane nemodificate, părți de șablon și modele furnizate de teme. Ele nu funcționează în conținutul postării, șabloane/părți modificate sau modele generate de utilizator.
- Începând cu WordPress 6.4, inserarea automată nu funcționează cu blocurile care au o funcție personalizată de salvare, deoarece poate duce la erori de validare a blocurilor. Dezvoltatorii ar trebui să folosească blocuri dinamice pentru compatibilitate.

3. Două moduri de a lega blocurile:
A. Folosind `block.json`:
- Oferă o modalitate simplă de a conecta un bloc terță parte, dar cu flexibilitate limitată.
- Proprietatea `blockHooks` din `block.json` permite specificarea pozitiei blocului hooked (inainte, dupa, primul copil, ultimul copil).
b. Folosind filtrul `hooked_block_types`:
- Oferă mai multă flexibilitate în comparație cu `block.json`, permițând conectarea condiționată pe baza șablonului, a părții șablonului sau a modelului.
- Funcția de apel invers pentru `hooked_block_types` primește parametri precum blocurile hooked, poziția, blocul de ancorare și contextul.

4. Considerații pentru dezvoltatori:
- Blocurile conectate vor apărea în Editorul site-ului, oferind utilizatorilor control asupra plasării lor. Dezvoltatorii nu pot forța poziția unui bloc dacă utilizatorul dorește să-l mute.
- Conectarea blocurilor statice (cu funcții personalizate de salvare) nu este recomandată, deoarece poate cauza erori de validare a blocurilor. Blocurile dinamice sunt alegerea preferată pentru Block Hooks.
- Dezvoltatorii ar trebui să se asigure că blocurile lor conectate sunt compatibile cu versiunea actuală WordPress și API-ul său Block Hooks.

În rezumat, noua funcție Block Hooks din WordPress 6.4 și ulterioare oferă o modalitate puternică pentru plugin-urile de blocuri de a-și insera automat blocurile în anumite locații, permițând totuși utilizatorilor să controleze plasarea acelor blocuri în Editorul site-ului.

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