Fungsi add_filter vs add_action WordPress, dasar-dasarnya.

Diterbitkan: 2021-08-24

Pengungkapan: Posting ini berisi tautan afiliasi. Saya mungkin menerima kompensasi ketika Anda mengklik tautan ke produk di posting ini. Untuk penjelasan tentang Kebijakan Periklanan saya, kunjungi halaman ini . Terima kasih sudah membaca!

Isi

  • Apa fungsi add_filter vs add_action WordPress?
  • Jadi, apa sebenarnya "Hook" di WordPress?
  • Apa perbedaan antara kait, filter, dan tindakan?
  • Apa perbedaan antara do_action dan add_action di WordPress?
  • Apa perbedaan antara Kait Tindakan dan Kait Filter?
  • Apa yang dilakukan filter di WordPress?
  • Apa yang dilakukan tindakan di WordPress?
  • Bisakah saya menggunakan add_action sebelum add_filter saat mengubah plugin WordPress?
  • Jadi apa perbedaan nyata antara add_filter hooks vs add_action hooks di WordPress?

Apa fungsi add_filter vs add_action WordPress?

Pernah mendapatkan plugin atau tema yang sempurna jika Anda bisa membuat satu atau dua tweak saja? Namun, kedua tweak ini akan mengharuskan Anda untuk menambahkan sedikit kode, bahkan mungkin beberapa kode pendek.

Tetapi sebelum Anda melakukannya, Anda perlu memahami konsep dasar add_filter vs add_action, perbedaan dan cara kerjanya di WordPress sebelum Anda mengubah plugin atau tema yang dikodekan hampir sempurna menjadi berantakan.

Sebuah "add_action" di WordPress adalah apa yang Anda gunakan untuk membuat "hook" pemicu. Ketika sesuatu terjadi, maka lakukan-sesuatu-lain.

Sebuah “add_filter” digunakan untuk “menghubungkan” data, yaitu mengubah/mengganti. Misalnya, di mana ada [beberapa-kode], ubah ke beberapa-lain-diperluas-kode.

"Kait" adalah "fungsi" atau "metode" untuk filter atau tindakan tertentu. Lebih lanjut tentang "kait" di bawah ini.

WordPress menawarkan kait filter untuk memungkinkan plugin memodifikasi berbagai jenis data internal selama runtime-nya. Plugin dapat memodifikasi data dengan mengikat panggilan balik ke kait filter. Saat filter diterapkan nanti, setiap panggilan balik terikat dijalankan dalam urutan prioritas, dan diberi kesempatan untuk mengubah nilai dengan mengembalikan nilai baru.

  • Actions adalah fungsi PHP yang mengeksekusi output.
  • Filter adalah fungsi PHP yang mengembalikan output.

Kami dapat memperluas plugin apa pun yang menggunakan tindakan dan filter tanpa mengubah kodenya. Dengan menambahkan filter dan tindakan di tema atau plugin kita sendiri. Mari kita bahas lebih lanjut tentang cara kerjanya di WordPress.

Jadi, apa sebenarnya "Hook" di WordPress?

Kait adalah cara bagi satu bagian kode untuk berinteraksi/memodifikasi bagian lain dari kode di tempat tertentu yang telah ditentukan sebelumnya. Mereka menjadi dasar bagaimana plugin dan tema berinteraksi dengan WordPress Core, tetapi mereka juga digunakan secara luas oleh WordPress Core itu sendiri.

Ada dua jenis kait: Tindakan dan Filter. Untuk menggunakan keduanya, Anda perlu menulis fungsi khusus yang dikenal sebagai " Panggilan Balik ", dan kemudian mendaftarkannya dengan kait WordPress untuk tindakan atau filter tertentu. Sumber : WordPress.org .

Apa perbedaan antara kait, filter, dan tindakan?

Seperti disebutkan di atas, "kait" pada dasarnya adalah nama kolektif untuk filter dan tindakan. Keduanya dimaksudkan untuk mengubah perilaku normal fungsi.

Berbicara dari sudut pandang pemrograman, tidak ada perbedaan besar, seperti yang Anda lihat dari fakta bahwa dalam kode sumber WordPress menambahkan "tindakan" sama dengan menambahkan "filter".

Perbedaannya terletak pada cara penggunaannya. Anda menggunakan "tindakan" untuk sepenuhnya mengubah perilaku fungsi atau menambahkan sesuatu ke fungsi yang ada.

Anda menggunakan "filter" untuk mengubah hasil fungsi atau variabel.

Apa perbedaan antara do_action dan add_action di WordPress?

Sebuah "do_action" mendaftarkan "action hook" sementara "add_action" menambahkan fungsi callback ke hook terdaftar.

Apa perbedaan antara Kait Tindakan dan Kait Filter?

Kait Aksi

"Actions Hooks" dimaksudkan untuk digunakan ketika inti WordPress atau beberapa plugin atau tema memberi Anda kesempatan untuk memasukkan kode Anda pada titik tertentu di dalam mereka untuk menjalankan tugas atau "tindakan" tertentu.

Kait Filter

"Filter Hooks" berperilaku sangat mirip dengan "Action Hooks", tetapi tujuan penggunaannya adalah untuk menerima nilai dan berpotensi mengembalikan versi nilai yang dimodifikasi.

Sebuah "Filter Hook" juga dapat digunakan seperti "Action Hook", yaitu untuk memodifikasi variabel global atau menghasilkan beberapa HTML, dengan asumsi itulah yang perlu Anda lakukan ketika hook dipanggil.

Apa yang dilakukan filter di WordPress?

Sebuah "filter" mengambil informasi yang diterimanya, memodifikasinya, dan mengembalikannya. Dengan kata lain, itu menyaring sesuatu dan meneruskannya kembali ke hook untuk digunakan lebih lanjut.

Oleh karena itu, filter digunakan untuk memodifikasi sesuatu dengan cara tertentu sehingga modifikasi tersebut kemudian digunakan oleh kode di kemudian hari.

Apa yang dilakukan tindakan di WordPress?

Sebuah "tindakan" mengambil informasi yang diterimanya, mengeksekusi instruksi apa pun yang diberikan dalam pengkodeannya, lalu tidak mengembalikan apa pun. Pada dasarnya, ia bekerja pada sesuatu dan kemudian keluar, tidak mengembalikan apa pun kembali ke kait panggilan.

Suatu tindakan menginterupsi aliran kode untuk melakukan sesuatu, dan kemudian kembali ke aliran normal tanpa mengubah apa pun.

Jadi di mana "filter" adalah kumpulan parameter atau instruksi, "tindakan" adalah eksekusi instruksi.

Bisakah saya menggunakan add_action sebelum add_filter saat mengubah plugin WordPress?

Pada dasarnya tidak masalah apa urutan Anda menggunakan add_action() dan add_filter().

Yang penting adalah urutan pemanggilan do_action() dan apply_filters() yang sesuai.

Jadi, jika "apply_filters", misalnya, ('wp_insert_post_data') dijalankan sebelum "do_action"('save_post'), maka itu tidak akan berfungsi. Anda harus memikirkan cara lain untuk mendapatkan hasil yang Anda inginkan.

Jadi apa perbedaan nyata antara add_filter hooks vs add_action hooks di WordPress?

Pada kenyataannya "Filter Hooks" adalah superset dari "Action Hooks". “Filter Hooks” dapat melakukan apa saja yang dapat dilakukan oleh “Action Hooks” dan lebih banyak lagi. Meskipun pengembang tidak memiliki tanggung jawab untuk mengembalikan nilai dengan "Action Hook" yang mereka lakukan dengan "Filter Hook".

"Filter hooks" pada dasarnya menentukan parameter tugas, sementara "Action hooks" menjalankan tugas. Untuk informasi lebih lanjut tentang perbedaan antara kait “add_filter” dan kait “add_action”, lihat dokumentasi WordPress resmi ini di bagian pengembang di WordPress.org.