Por que registrar e enfileirar é importante
deve chegar a tempo - antes que o script / estilo acabe sendo enviado para a página, caso contrário, é tarde demais;
deve ser condicional - caso contrário, você está carregando coisas nas quais não precisa e causa problemas de desempenho e funcionalidade; para isso, é necessário que o ambiente WP seja carregado no estágio final.
As três etapas do processo
registrar - isso explica detalhes do WP sobre script / estilo e faz com que ele armazene essas informações;
enfileirar - (geralmente agrupado com o registro em uma wp_enqueue_*()
chamada) - isso informa ao WP para adicionar scripts / estilo à fila, de acordo com suas configurações (dependências, carregamento de cabeçalho / rodapé).
print - isso acontece quando o WP processa a fila, tenta carregar algo específico para si ou quando você faz explicitamente com a wp_print_*()
função.
Estrutura front-end de funções e ganchos
wp_head()
wp_footer()
wp_footer
- (10)
wp_print_footer_scripts()
É muito mais profundo, mas isso é simples e bom o suficiente para pontos importantes:
wp_enqueue_scripts
é o gancho mais apropriado para registrar e enfileirar scripts e estilos no front end e existe especificamente para isso;
init
não tem nada a ver com isso, funcionará, mas - a recomendação anterior do Codex de usar apenas estava incorreta ;
você pode se safar com scripts de enfileiramento (não estilos) para rodapé a qualquer momento antes da wp_print_footer_scripts()
chamada;
wp_print_*
ganchos NÃO são apropriados para registro / fila , são pontos no código quando a saída já está acontecendo. Eles são apropriados para saída manual / personalizada de script / estilo.
E o administrador?
Bem, a funcionalidade é ainda mais complexa, elaborada e aninhada.
para iniciantes, basta usar admin_enqueue_scripts
hook (é transmitido $hook_suffix
globalmente por coisas condicionais ) para tudo, será bom na maioria dos casos;
quando você precisar de algo complexo - procure admin-header.php
e procure a partir daí os ganchos adequados.
E o login?
Há um gancho específico chamado login_enqueue_scripts
.
admin_print_scripts-{xxx}
. Eu achei queadmin_print_scripts
foi chamado, mas não com-{xxx}
por exemplo.-edit.php
por exemplo. Como certo é que a resposta de enqueuing emadmin_print_scripts-xxx
eo que você vai recomendar ao invés - suponho eu quero incluir scripts / estilos em uma página tipo de pós personalizado add / edit (para METABOX)*print*
ganchos, a menos que você realmente saiba por que precisa deles. E no geral eles são para impressão , não para fila .admin_enqueue_scripts
hooks passa a$hook_suffix
variável igual à usada nesses ganchos dinâmicos.$hook_suffix
parece post.php na minha página de portfólio de edição, por que isso? Eu pensei que era edit.php também, como determinar se estou editando / postando um portfólio e não um post normal?add_*_page()
função), mas em telas WP nativas que podem ser coisas diferentes.