A maioria dos itens a seguir pode ser encontrada no Codex :
apply_filters
As funções de retorno de chamada anexadas ao gancho de filtro $tag
são chamadas ao chamar esta função. Essa função pode ser usada para criar um novo gancho de filtro simplesmente chamando essa função com o nome do novo gancho especificado usando o parâmetro $ tag.
$value = apply_filters( $tag, $value, $var_1, $var_2, ... );
Em essência:
Você usa apply_filters
para filtrar um determinado $value
- no que diz respeito ao próprio valor, bem como variáveis opcionalmente fornecidas $var_1
através $var_n
.
add_filter
Conecte uma função a uma ação de filtro específica.
add_filter( $tag, $function_to_add, $priority, $accepted_args );
Essencialmente:
você usa add_filter
para conectar uma função personalizada à ação de filtro fornecida ( $tag
), que você pode ter gerado apply_filters
anteriormente (ou era uma ação de filtro interna ou deriva de um plug-in / seu tema).
Então, aqui está um exemplo
fictício :
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
Agora, se apenas chamarmos nossa função como está, as iniciais serão impressas da esquerda para a direita - porque é isso que definimos como comportamento padrão.
Na segunda vez, obtemos as iniciais na ordem inversa - porque a função de filtro __return_true
, ligada à nossa ação de filtro, sempre retorna TRUE
e, assim, faz com que as iniciais sejam exibidas da direita para a esquerda.