Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Blokir plugin dan hook WordPress


Blokir plugin dan hook WordPress


Berikut adalah ringkasan bagaimana plugin blok dapat menggunakan hook WordPress, khususnya fitur Block Hooks baru yang diperkenalkan di WordPress 6.4:

1. Prinsip Kait Blok:
- Penempatan Otomatis: Blok dapat secara otomatis memposisikan dirinya ketika blok lain ditambahkan ke konten, sehingga tidak perlu penyisipan manual.
- Visibilitas dan Kontrol: Blok yang disisipkan terlihat di editor, dan pengguna tetap mengontrol penyisipan otomatisnya, memungkinkan pengalaman pengeditan yang disesuaikan.

2. Keterbatasan dan Pertimbangan:
- Block Hooks hanya berfungsi pada templat, bagian templat, dan pola yang tidak dimodifikasi yang disediakan oleh tema. Mereka tidak berfungsi dalam konten postingan, templat/bagian yang dimodifikasi, atau pola yang dibuat pengguna.
- Mulai WordPress 6.4, penyisipan otomatis tidak berfungsi dengan blok yang memiliki fungsi penyimpanan khusus, karena dapat mengakibatkan kesalahan validasi blok. Pengembang harus menggunakan blok Dinamis untuk kompatibilitas.

3. Dua Cara Mengaitkan Balok:
A. Menggunakan `block.json`:
- Menyediakan cara sederhana untuk mengaitkan blok pihak ketiga, tetapi dengan fleksibilitas terbatas.
- Properti `blockHooks` di `block.json` memungkinkan penentuan posisi blok yang dikaitkan (sebelum, sesudah, anak pertama, anak terakhir).
B. Menggunakan filter `hooked_block_types`:
- Menawarkan lebih banyak fleksibilitas dibandingkan dengan `block.json`, memungkinkan pengait bersyarat berdasarkan templat, bagian templat, atau pola.
- Fungsi panggilan balik untuk `hooked_block_types` menerima parameter seperti blok kait, posisi, blok jangkar, dan konteks.

4. Pertimbangan untuk Pengembang:
- Blok yang terpikat akan muncul di Editor Situs, memberikan pengguna kontrol atas penempatannya. Pengembang tidak dapat memaksakan posisi blok jika pengguna ingin memindahkannya.
- Mengaitkan blok statis (dengan fungsi penyimpanan khusus) tidak disarankan, karena dapat menyebabkan kesalahan validasi blok. Blok dinamis adalah pilihan yang lebih disukai untuk Block Hooks.
- Pengembang harus memastikan blok doyan mereka kompatibel dengan versi WordPress saat ini dan Block Hooks API-nya.

Singkatnya, fitur Block Hooks baru di WordPress 6.4 dan versi selanjutnya menyediakan cara ampuh bagi plugin blok untuk secara otomatis menyisipkan bloknya di lokasi tertentu, sambil tetap memungkinkan pengguna mengontrol penempatan blok tersebut di dalam Editor Situs.

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