Фильтры работают, вызывая каждую из перехваченных функций обратного вызова (в порядке приоритета). Фильтруемое значение передается первой функции обратного вызова. Возвращенное значение этой функции обратного вызова затем передается второму обратному вызову, а возвращаемое значение из этого передается третьему и так далее, пока не будут запущены все перехваченные обратные вызовы. Каким бы ни было последнее возвращенное значение (т. Е. Отфильтрованное значение, прошедшее через все обратные вызовы), затем принимается за значение после применения фильтра.
В приведенном выше примере каждый фильтр игнорирует то, что ему передано, и вместо этого просто возвращает свой новый массив.
( Примечание: избегайте анонимных функций в качестве обратных вызовов)
Пытаться:
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()) );