Condicional, if ( isset($wp_filter['all']) ) {
você pode encontrar neste gancho funções de criação:
apply_filters
apply_filters_ref_array
do_action
do_action_ref_array
A diferença entre eles está no número de argumentos enviados. Precisamos de vários argumentos, portanto, ref_array
ou de um argumento. A outra diferença "ação versus filtro" é simples, a ação pode executar qualquer função / ação e o nome do filtro geralmente é reservado para funções que pegam dados da string e retornam esses dados filtrados.
OK, é assim que você cria ganchos. E os ganchos têm nomes e você pode pescar vários nomes de funções no mesmo nome de gancho (leia-se: tag).
Porém, depois de definir todas as funções associadas a ganchos específicos, é necessário armazenar em algum lugar todos os nomes de ganchos e nomes de funções associados. É por isso que temos o global $wp_filter
WordPress. Se você produzir essa variável, obterá algo como ...
Array
(
[pre_term_name] => Array
(
[10] => Array
(
[sanitize_text_field] => Array
(
[function] => sanitize_text_field
[accepted_args] => 1
)
[wp_filter_kses] => Array
(
[function] => wp_filter_kses
[accepted_args] => 1
)
)
[30] => Array
(
[_wp_specialchars] => Array
(
[function] => _wp_specialchars
[accepted_args] => 1
)
)
)
Bem, não vamos discutir o nome dessa variável. Pessoalmente, eu diria que é diferente, provável, $wp_hooks
já que esse nome não é usado. No entanto, se voltarmos à história, descobriremos que do_action
é desde @since 1.2.0
e apply_filters
é @since 0.71
(lançado em 9 de junho de 2003.). Isso dá uma boa explicação para o motivo de ser chamado $wp_filter
. É mais provável porque os filtros foram introduzidos primeiro no WordPress. Mais tarde, eles introduziram ações.
Apenas construindo sobre ser dito a partir de @ TheDeadMedic ...
add_action ('all', 'Whatever') significará o que for acionado para cada do_action, independentemente do nome do gancho.
Eu levantei a pergunta por que precisamos $wp_filter['all']
? Apenas alguns exemplos. Introspecção, testes e provavelmente mais recursos internos do sistema nas futuras versões do WordPress.