Onde é o lugar certo para registrar / enfileirar scripts e estilos

42

Estou usando o WordPress 3.1.4 até agora. Estou confuso com onde (qual gancho) eu uso:

  • para registrar e / ou enfileirar
  • scripts e estilos
  • nos front-ends e back-end?

Perguntas:

  • Quais são os ganchos certos para usar?
  • Todos os scripts / estilos de registro / enfileiramento front-end em init ?
  • Por que não há admin_print_styles-{xxx} ?
por JM at Work 30.06.2011 / 09:39
fonte

1 resposta

62

Por que registrar e enfileirar corretamente é importante

  • deve ser no tempo - antes que o script / estilo esteja pronto para ser enviado à página, caso contrário, é tarde demais;

  • deve ser condicional - caso contrário, você está carregando coisas que não são necessárias e causam problemas de desempenho e funcionalidade; para isso, é necessário que o ambiente do WP seja carregado no estágio final.

Os três estágios do processo

  1. registre - isso explica os detalhes do WP sobre o script / estilo e faz com que ele armazene essas informações;

  2. enfileirar - (geralmente agrupado com registro em uma chamada wp_enqueue_*() ) - isso diz ao WP para adicionar scripts / estilo à fila, de acordo com suas configurações (dependências, cabeçalho / rodapé de carregamento).

  3. print - isso acontece quando o WP processa fila, tenta carregar algo específico para si mesmo ou quando você faz isso explicitamente com wp_print_*() function.

Estrutura front-end de funções e ganchos

  • wp_head()

    • wp_head

      • (1) wp_enqueue_scripts()

        wp_enqueue_scripts «é disso que você precisa

      • (8) wp_print_styles()

      • (9) wp_print_head_scripts()

  • wp_footer()

    • wp_footer

      • (10) wp_print_footer_scripts()

É muito mais profundo, mas é 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 está lá especificamente para isso;

  • init não tem nada a ver com isso, funcionará, mas - recomendação anterior do Codex para usar apenas estava incorreta ;

  • você pode usar roteiros de enfileiramento (e não estilos) para o rodapé antes de wp_print_footer_scripts() call;

  • wp_print_* ganchos NÃO são apropriados para registrador / fila , eles são pontos no código quando a saída já está acontecendo. Eles são apropriados para saída de script / estilo manual / personalizada.

E o administrador?

Bem, a funcionalidade é ainda mais complexa, elaborada e aninhada.

  • para iniciantes é só usar admin_enqueue_scripts hook (é passado $hook_suffix global para coisas condicionais ) para tudo, será bom para a maioria dos casos ;

  • quando você precisar de algo complexo - veja admin-header.php e procure por ganchos apropriados.

E o login?

Há um gancho específico chamado login_enqueue_scripts .

    
por Rarst 30.06.2011 / 11:14
fonte