Các bộ lọc hoạt động bằng cách gọi từng hàm gọi lại được nối (theo thứ tự ưu tiên). Giá trị được lọc được chuyển đến chức năng gọi lại đầu tiên. Giá trị được trả về của hàm gọi lại đó sau đó được chuyển sang hàm gọi lại thứ hai và giá trị được trả về từ đó được chuyển sang thứ ba, v.v., cho đến khi tất cả các hàm gọi lại được nối đã được kích hoạt. Giá trị được trả về cuối cùng là gì (tức là giá trị được lọc đã đi qua tất cả các cuộc gọi lại) sau đó được coi là giá trị sau khi bộ lọc được áp dụng.
Trong ví dụ trên, mỗi bộ lọc đang bỏ qua những gì được truyền cho nó và thay vào đó chỉ trả về mảng mới của chính nó.
( Lưu ý bên: tránh các chức năng ẩn danh dưới dạng gọi lại)
Thử:
add_filter('example_filter', 'my_example_filter_1' );
function my_example_filter_1( $array ){
$array[]='tax1';
return $array;
}
add_filter('example_filter', 'my_example_filter_2' );
function my_example_filter_2( $array ){
$array[]='tax2';
return $array;
}
add_filter('example_filter', 'my_example_filter_3' );
function my_example_filter_3( $array ){
$array[]='tax3';
return $array;
}
print_r( apply_filters( 'example_filter', array()) );