Apa itu hook WordPress? Bagaimana tindakan dan filter membantu memperluas fungsionalitas?

Diterbitkan: 2018-06-13
WordPress Hooks | LearnWoo

Terakhir diperbarui - 9 Oktober 2020

Jika Anda pernah bekerja di WordPress, Anda pasti sering menemukan kata ' Hook '. Jika Anda adalah pengembang WordPress yang ingin membuat plugin dan tema, maka kait WordPress sangat penting untuk pengembangan Anda.

Tapi apa sebenarnya Hooks itu?

Menurut codex WordPress.org, “ Hooks disediakan oleh WordPress untuk memungkinkan plugin Anda 'menghubungkan' ke WordPress lainnya; yaitu, untuk memanggil fungsi di plugin Anda pada waktu tertentu, dan dengan demikian menggerakkan plugin Anda.”

Kait dalam istilah umum menghubungkan satu hal dengan hal lainnya. Dalam terminologi WordPress, ini mengaitkan (menghubungkan) kode yang ditentukan pengguna dengan kode inti WordPress yang ada.

Mari kita luruskan ini.

WordPress dibangun dengan beberapa fungsi default. Ini memiliki perilaku dan nilai default yang terkait dengannya. Dengan kait, Anda dapat memodifikasi perilaku default ini dan mengganti nilai yang ada, sehingga menyesuaikan lingkungan WordPress sesuai kebutuhan Anda.

Jenis Kait

Ada dua jenis Hook:

  1. Action Hooks – Digunakan untuk mengeksekusi di beberapa titik dalam eksekusi, mengubah aliran default eksekusi. Berikut daftar kait Tindakan WordPress.
  2. Filter Hooks – Sedikit berbeda dari Action hooks, Filter hooks digunakan untuk mengubah data default WordPress dan menggantinya dengan nilai kustom, sebelum ditampilkan kepada pengguna di front-end, atau disimpan dalam database. Daftar kait Filter dapat ditemukan di Codex WordPress.

Pada dasarnya, kait adalah fungsi yang telah ditentukan sebelumnya. Oleh karena itu dua jenis fungsi yang terkait dengan kait adalah:

  1. Fungsi tindakan – Fungsi-fungsi ini sangat membantu dalam acara-acara ketika sebuah blog diposting, pemuatan halaman, dan sebagainya.
    Berikut ini adalah beberapa fungsi Action:

    • tambahkan_aksi()
    • lakukan_aksi()
    • melakukan_aksi()
    • lakukan_aksi()
    • lakukan_aksi_ref_array()
    • has_action()
    • hapus_aksi()
    • hapus_semua_aksi()
  2. Fungsi filter – Setiap fungsi filter mengembalikan beberapa nilai dan menggantinya dengan data WordPress default.
    Fungsi filter mencakup hal-hal berikut:

    • tambahkan_filter()
    • terapkan_filter()
    • apply_filters_ref_array()
    • filter_saat ini()
    • melakukan_filter()
    • has_filter()
    • hapus_semua_filter()
    • hapus_filter()

Sebuah Infografis

Perhatikan infografis berikut untuk pemahaman yang lebih baik tentang cara kerja kait.

WordPress Hooks | Info-graphic on how WordPress Hooks work
Infografis tentang cara kerja WordPress Hooks

Seperti yang ditunjukkan pada infografis di atas, fungsi Action dan Filter menggunakan kait masing-masing untuk memodifikasi kode inti WordPress.

Bagaimana tampilan Hook?

Kait Tindakan khas mengambil bentuk berikut:

 add_action( 'hook', 'your_custom_function_name', [prioritas], [accepted_parameters] );
fungsi your_custom_function_name()
{
   //kode kustom Anda
}

Di mana hook adalah nama hook, your_custom_function_name adalah nama fungsi dengan kode kustom Anda, parameter prioritas opsional yang menunjukkan bagaimana hook harus dijalankan, parameter yang diterima menunjukkan parameter tambahan, dan kode kustom. Itu pemanggilan fungsi ( add_action()) dapat berada di bawah atau di atas cuplikan kode.

Kait Filter memiliki bentuk berikut:

 add_filter( 'filter', 'nama_fungsi_kustom_anda', 'prioritas', 'accepted_args' );
fungsi your_custom_function_name($variable)
{
   //kode kustom Anda
   kembali;
}

Di mana add_filter() adalah satu dari fungsi Filter hook, filter adalah nama filter yang akan Anda gunakan, your_custom_function_name adalah nama fungsi yang ditentukan pengguna Anda, parameter prioritas menunjukkan urutan eksekusi hook, accept_args menunjukkan argumen yang akan diteruskan, dan custom kode dengan nilai pengembalian wajib.

Sama seperti WordPress, ada juga pengait yang tersedia untuk WooCommerce. Kait ini banyak digunakan untuk mengembangkan plugin, tema, dan menyesuaikan proses WooCommerce Checkout.
Baca WooCommerce Hooks: Tindakan dan filter dalam dokumentasi WooCommerce untuk memahami hook WooCommerce secara detail.

Demonstrasi

Mari kita memahami hook menggunakan beberapa cuplikan kode sampel.

Kait dan Fungsi Aksi

 //Menambahkan kait Aksi
fungsi my_action_hook() {
echo "<p align='center'>Ini adalah Contoh Kait Tindakan</p>";
}
add_action( 'get_header', 'my_action_hook' );

Dalam cuplikan kode di atas, 'my_action_hook' adalah nama fungsi kustom, 'add_action' adalah salah satu fungsi Action, dan 'get_header' digunakan untuk menyesuaikan header template. Dalam cuplikan kode yang diberikan, kami menampilkan teks 'Ini adalah Demo Kait Tindakan' di bagian tajuk situs web.

Contoh tangkapan layar yang menunjukkan perubahan cuplikan kode yang diterapkan ditunjukkan di bawah ini.

WordPress Hooks | Action hook example
Contoh kait aksi

Kait dan Fungsi Filter

 //Menambahkan pengait filter
add_filter('woocommerce_get_price_html','my_filter_hook');
fungsi my_filter_hook($price){
return 'Hanya untuk '.$price;
}

Dalam cuplikan kode di atas, 'woocommerce_get_price_html' adalah pengait WooCommerce untuk mendapatkan harga produk, 'my_filter_hook' adalah nama filter yang ditentukan pengguna dan '$price' adalah variabel yang ditentukan pengguna. Cuplikan kode hanya menambahkan awalan "Hanya" ke harga produk.

Tangkapan layar berikut menunjukkan bagaimana cuplikan kode memengaruhi toko WooCommerce kami.

WordPress Hooks | Filter hook example
Contoh kait filter

Ini hanyalah contoh sederhana, ada banyak hal yang dapat Anda capai dengan Hooks.

Bagaimana tindakan dan filter membantu memperluas fungsionalitas?

  1. Keuntungan utama menggunakan Hooks adalah membantu dalam menyesuaikan kode inti WordPress.
  2. Setiap perubahan dalam pengembangan dapat dipantau dengan cermat karena modifikasinya hanya minimal daripada beberapa kali dalam kode.
  3. Pengembangan plugin baru menjadi jauh lebih mudah dengan metode coba-coba.
  4. Untuk pengembangan tema, seseorang dapat membuat tema anak dan bermain-main dengan kait tanpa mempengaruhi tema induk.
  5. Ini adalah penawaran WordPress yang sederhana dan mudah digunakan yang memiliki struktur yang dapat dimengerti dan dokumentasi terperinci untuk referensi apa pun.
  6. Mendukung WooCommerce, plugin eCommerce WordPress paling populer. Plugin penetapan harga WooCommerce secara ekstensif mengubah harga produk, perhitungan harga, dan menawarkan harga & diskon dinamis menggunakan kait WooCommerce. Detail pesanan, informasi produk, detail pengiriman, di antaranya dapat disadap menggunakan kait khusus.

Komentar Penutup

WordPress Hooks adalah mekanisme kunci untuk pengembangan plugin dan tema. Mereka banyak digunakan untuk memodifikasi kode WordPress yang ada untuk menyesuaikan situs web. Meskipun kait memiliki sejumlah keunggulan, Anda harus memastikan bahwa setiap kait khusus itu unik dan tidak tumpang tindih dengan kait lain dengan nama yang sama. Bahkan dalam kasus seperti itu, Anda dapat menetapkan prioritas pada kait untuk dieksekusi sesuai kebutuhan Anda.

Lihat artikel Kustomisasi WooCommerce kami untuk kiat menyesuaikan toko WooCommerce Anda.

Atau lanjutkan menjelajahi LearnWoo untuk artikel yang lebih menakjubkan.