Não vejo os grandes benefícios dessa prática, por estes motivos:
Suas funções de retorno de chamada não são chamadas ao registrar
As funções add_action
e add_filter
adicionam apenas uma entrada à variável global $wp_filter
que contém todos os filtros e ações. Veja fonte . Não chama sua função. Seu código será executado somente quando o do_action
e apply_filters
for chamado (com o nome apropriado do gancho), o que acontece muito tarde no local em que esses ganchos devem estar.
Você pode dizer que isso fará com que a variável global $wp_filter
fique maior => mais memória necessária. Mas acho que criar uma nova função tem o mesmo problema.
Código organizador
Colocar tudo em uma função obriga a lembrar todos os ganchos em todos os arquivos do seu tema / plugin. Você não faria algo assim:
- in
header.php
: adicione ganchos e funções de retorno de chamada para que as coisas aconteçam no cabeçalho (como menu, script de registro)
- in
content.php
: adicione ganchos e funções de retorno de chamada para filtrar conteúdo
admin-menu.php
: adicione ganchos e funções de retorno de chamada para adicionar o menu de administração
(suponha que esses arquivos sejam colocados no seu tema / plugin)
Em vez disso, você deve:
- colocar apenas funções de retorno de chamada em
header.php
, content.php
,admin-menu.php
- e colocar todos os ganchos em uma função separada em outro arquivo
=> Isso tornará difícil saber o que acontece quando você analisa o conteúdo do header.php
arquivo. Você precisa pesquisar para saber quando esses retornos de chamada são acionados.
E pense na situação quando você tiver várias classes no seu tema / plugin. Você coloca todos os ganchos de todas as classes em um só lugar? Ou cada classe possui uma função de invólucro que contém todos os ganchos? É muito redundante!
Acima desse motivo, acho que é estilo pessoal :). Vejo alguns frameworks como o Hybrid que faz o que você disse. Às vezes, é difícil me aprofundar nessas estruturas!
wp_loaded
e informações do MS.