Sebagian besar dari yang berikut ini dapat ditemukan di Codex :
apply_filters
Fungsi panggil balik yang terlampir pada kait filter $tag
dipanggil dengan memanggil fungsi ini. Fungsi ini dapat digunakan untuk membuat hook filter baru dengan hanya memanggil fungsi ini dengan nama hook baru yang ditentukan menggunakan parameter $ tag.
$value = apply_filters( $tag, $value, $var_1, $var_2, ... );
Pada intinya:
Anda menggunakan apply_filters
untuk menyaring diberikan $value
- sehubungan dengan nilai itu sendiri serta variabel opsional disediakan $var_1
melalui $var_n
.
add_filter
Kaitkan suatu fungsi ke aksi filter tertentu.
add_filter( $tag, $function_to_add, $priority, $accepted_args );
Intinya:
Anda menggunakan add_filter
untuk mengaitkan fungsi khusus ke aksi filter yang diberikan ( $tag
), yang mungkin Anda hasilkan apply_filters
sebelumnya (atau itu adalah tindakan filter bawaan atau berasal dari plugin / tema Anda).
Jadi, inilah contoh
fiksi :
function print_initials( $name ) {
if ( ! is_string( $name ) ) {
return;
}
$fragments = explode( ' ', $name );
/**
* Filter wether to print initials in reverse order.
*
* @param bool $reverse Print initials in reverse order?
*/
if ( apply_filters( 'reverse_initials', FALSE ) ) {
$fragments = array_reverse( $fragments );
}
foreach ( $fragments as $f ) {
echo substr( $f, 0, 1 );
}
}
print_initials( 'Some Guy' ); // outputs: SG
add_filter( 'reverse_initials', '__return_true' );
print_initials( 'Some Guy' ); // outputs: GS
Sekarang, jika kita panggil fungsi kita apa adanya, inisial dicetak dari kiri ke kanan — karena inilah yang kita definisikan sebagai perilaku default.
Kedua kalinya, kami mendapatkan inisial dalam urutan terbalik — karena fungsi filter __return_true
, yang dikaitkan dengan aksi filter kami, selalu kembali TRUE
dan dengan demikian membuat inisial menjadi output dari kanan ke kiri.