Os filtros funcionam chamando cada uma das funções de retorno de chamada em gancho (em ordem de prioridade). O valor a ser filtrado é passado para a primeira função de retorno de chamada. O valor retornado dessa função de retorno de chamada é então passado para o segundo retorno de chamada e o valor retornado é passado para o terceiro e assim por diante, até que todos os retornos de chamada conectados tenham sido acionados. Qualquer que seja o último valor retornado (ou seja, o valor filtrado que passou por todos os retornos de chamada) é considerado o valor após a aplicação do filtro.
No exemplo acima, cada filtro está ignorando o que é passado para ele e, em vez disso, está retornando sua própria nova matriz.
( Nota: evite funções anônimas como retornos de chamada)
Tentar:
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()) );