Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Blokuj wtyczki i haki WordPress


Blokuj wtyczki i haki WordPress


Oto podsumowanie tego, jak wtyczki blokujące mogą wykorzystywać hooki WordPressa, w szczególności nowa funkcja Block Hooks wprowadzona w WordPress 6.4:

1. Zasady blokowania haków:
- Automatyczne rozmieszczanie: Bloki mogą automatycznie pozycjonować się po dodaniu kolejnego bloku do zawartości, eliminując potrzebę ręcznego wstawiania.
- Widoczność i kontrola: Wstawiony blok jest widoczny w edytorze, a użytkownicy zachowują kontrolę nad jego automatycznym wstawieniem, co pozwala na spersonalizowaną edycję.

2. Ograniczenia i uwagi:
- Haki blokowe działają tylko w niezmodyfikowanych szablonach, częściach szablonów i wzorach dostarczonych przez motywy. Nie działają w treści postów, zmodyfikowanych szablonach/częściach ani wzorcach generowanych przez użytkowników.
- Od wersji WordPress 6.4 automatyczne wstawianie nie działa w przypadku bloków, które mają niestandardową funkcję zapisywania, ponieważ może to skutkować błędami sprawdzania poprawności bloku. Programiści powinni używać bloków dynamicznych dla zapewnienia zgodności.

3. Dwa sposoby mocowania bloków:
A. Przy użyciu `block.json`:
— Zapewnia prosty sposób podłączenia bloku innej firmy, ale z ograniczoną elastycznością.
- Właściwość `blockHooks` w `block.json` umożliwia określenie pozycji zahaczonego bloku (przed, po, pierwsze dziecko, ostatnie dziecko).
B. Przy użyciu filtra `hooked_block_types`:
- Oferuje większą elastyczność w porównaniu do `block.json`, umożliwiając warunkowe podpinanie na podstawie szablonu, części szablonu lub wzorca.
- Funkcja wywołania zwrotnego dla `hooked_block_types` odbiera parametry, takie jak zahaczone bloki, pozycja, blok zakotwiczenia i kontekst.

4. Uwagi dla programistów:
- Zahaczone bloki pojawią się w Edytorze witryny, dając użytkownikom kontrolę nad ich rozmieszczeniem. Programiści nie mogą wymusić położenia bloku, jeśli użytkownik chce go przesunąć.
- Nie zaleca się podłączania bloków statycznych (z niestandardowymi funkcjami zapisywania), ponieważ może to powodować błędy sprawdzania poprawności bloku. Bloki dynamiczne są preferowanym wyborem w przypadku haków blokowych.
- Programiści powinni upewnić się, że ich zahaczone bloki są kompatybilne z bieżącą wersją WordPress i jej API Block Hooks.

Podsumowując, nowa funkcja Block Hooks w WordPressie 6.4 i nowszych wersjach zapewnia potężny sposób, w jaki wtyczki blokujące mogą automatycznie wstawiać swoje bloki w określonych lokalizacjach, jednocześnie umożliwiając użytkownikom kontrolowanie rozmieszczenia tych bloków w Edytorze witryny.

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