ส่วนใหญ่ต่อไปนี้สามารถพบได้ในCodex :
apply_filters
ฟังก์ชั่นการโทรกลับที่แนบมากับตัวกรองเบ็ด$tag
ถูกเรียกโดยการเรียกฟังก์ชั่นนี้ ฟังก์ชั่นนี้สามารถใช้ในการสร้างตัวกรองเบ็ดใหม่โดยเพียงแค่เรียกฟังก์ชั่นนี้ด้วยชื่อของเบ็ดใหม่ที่ระบุโดยใช้พารามิเตอร์ $ แท็ก
$value = apply_filters( $tag, $value, $var_1, $var_2, ... );
ในสาระสำคัญ:
คุณสามารถใช้apply_filters
ในการกรองที่กำหนด$value
- ส่วนที่เกี่ยวกับค่าของตัวเองเช่นเดียวกับตัวแปรที่มีให้เลือกผ่าน
$var_1
$var_n
add_filter
ขอฟังก์ชั่นกับการกระทำของตัวกรองที่เฉพาะเจาะจง
add_filter( $tag, $function_to_add, $priority, $accepted_args );
ในสาระสำคัญ:
คุณใช้add_filter
เพื่อขอฟังก์ชั่นที่กำหนดเองเพื่อดำเนินการตัวกรองที่กำหนด ( $tag
) ซึ่งคุณอาจสร้างขึ้นโดยapply_filters
ก่อนหน้า (หรือมันเป็นการกระทำตัวกรองในตัวหรือเกิดจากปลั๊กอิน / ชุดรูปแบบของคุณ)
ดังนั้นนี่คือตัวอย่าง
สมมติ :
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
ตอนนี้ถ้าเราเพิ่งเรียกฟังก์ชันของเราตามเดิมอักษรตัวแรกจะถูกพิมพ์จากซ้ายไปขวาเพราะนี่คือสิ่งที่เรากำหนดไว้ว่าเป็นพฤติกรรมเริ่มต้น
ครั้งที่สองเราได้รับชื่อย่อในลำดับย้อนกลับ - เนื่องจากฟังก์ชั่นตัวกรอง__return_true
ซึ่งเชื่อมต่อกับการกระทำของตัวกรองของเราจะส่งคืนเสมอTRUE
และทำให้ชื่อย่อถูกส่งออกจากขวาไปซ้าย