Quero saber se é uma boa prática de acordo com o tema WordPress ou o desenvolvimento de plugins.
add_action('init','all_my_hooks');
function all_my_hooks(){
// some initialization stuff here and then
add_action('admin_init',-----);
add_action('admin_menu',----);
// more like so
}
obrigado
hooks
customization
init
admin-init
atinder
fonte
fonte
wp_loaded
e informações do MS.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
eadd_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 odo_action
eapply_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:
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)content.php
: adicione ganchos e funções de retorno de chamada para filtrar conteúdoadmin-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:
header.php
,content.php
,admin-menu.php
=> 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!
fonte