Apa itu Filter?
Filter adalah fungsi yang WordPress lewati melalui data, pada titik-titik tertentu dalam eksekusi, tepat sebelum mengambil tindakan dengan data (seperti menambahkannya ke database atau mengirimnya ke layar browser). Filter berada di antara database dan browser (saat WordPress menghasilkan halaman), dan antara browser dan database (ketika WordPress menambahkan posting dan komentar baru ke database); sebagian besar input dan output di WordPress melewati setidaknya satu filter. WordPress melakukan beberapa penyaringan secara default, dan plugin Anda dapat menambahkan penyaringan sendiri.
Menghubungkan ke Filter
Untuk memungkinkan pengguna mengubah beberapa data tertentu (nilai, output fungsi, dll.) Kait filter disediakan melalui apply_filters
fungsi.
Kait filter ini menyertakan nama (atau tag ) filter dan setidaknya nama fungsi yang akan digunakan untuk memfilter (yaitu, mengubah cara) data.
Untuk mengubah judul posting, Anda dapat menggunakan the_title
hook filter, yang didefinisikan sebagai berikut:
apply_filters( 'the_title', $title, $id );
Ini berarti, filter memiliki tag / nama the_title
, parameter pertama $title
adalah data yang akan diubah (yaitu, judul posting) dan parameter kedua $id
adalah informasi tambahan (dalam hal ini ID posting).
Untuk menampilkan judul setiap posting di UPPERCASE, misalnya, Anda dapat menggunakan baris berikut:
add_filter('the_title', 'strtoupper');
Jika kita melihat add_filter
fungsinya, kita melihatnya didefinisikan sebagai berikut:
add_filter( $tag, $function_to_add, $priority, $accepted_args );
Kami hanya menentukan parameter pertama dan kedua (wajib), sedangkan parameter ketiga dan keempat diatur ke nilai default masing-masing (yaitu, 10
dan 1
).
Filter Yang Lebih Kompleks
Jika Anda ingin memfilter hanya posting tertentu , Anda dapat menggunakan informasi tambahan (jika filter ini: ID). Untuk melakukannya, Anda harus menentukan jumlah parameter (yaitu 2 dalam hal ini), dan untuk melakukannya lagi, Anda harus menentukan parameter prioritas (yang muncul sebelum jumlah argumen).
Misalkan kita hanya ingin mempengaruhi judul posting dengan ID 42, maka tampilannya seperti ini:
add_filter('the_title', 'my_strtoupper', 10, 2);
function my_strtoupper($title, $id) {
if (42 === $id) return strtoupper($title);
return $title;
} // function my_strtoupper
Dalam hal ini, kita harus menentukan keempat parameter yang tersedia.
Apa Parameter Yang Saya Miliki?
Untuk mengidentifikasi (jumlah) parameter yang tersedia dari filter tertentu, Anda harus mencari di mana ia didefinisikan (dalam hal ini: di sini ).
Referensi :