¿Dónde está el lugar correcto para registrar / poner en cola los scripts y los estilos?

42

Estoy usando WordPress 3.1.4 por ahora. Estoy confundido con dónde (qué gancho) uso:

  • para registrarse y / o poner en cola
  • scripts y estilos
  • en los extremos delanteros y traseros?

Preguntas:

  • ¿Cuáles son los ganchos de derecha para usar?
  • ¿Todos los scripts / estilos de registro / puesta en cola de front-end en init ?
  • ¿Por qué no hay admin_print_styles-{xxx} ?
pregunta JM at Work 30.06.2011 - 09:39

1 respuesta

62

Por qué es importante registrarse y hacer colas correctamente

  • debería estar a tiempo - antes de que el script / style esté listo para enviarse a la página, de lo contrario, es demasiado tarde;

  • debería ser condicional ; de lo contrario, está cargando cosas donde no las necesita y causa problemas de rendimiento y funcionalidad, para esto necesita que el entorno WP esté cargado hasta el final.

Las tres etapas del proceso

  1. registrar : esto explica los detalles de WP sobre el estilo de escritura / estilo y hace que almacene esa información;

  2. encoue - (a menudo agrupados con el registro en una llamada wp_enqueue_*() ) - esto le dice a WP que agregue scripts / estilo a la cola, de acuerdo con su configuración (dependencias, encabezado / pie de página de carga).

  3. imprimir : esto sucede cuando WP procesa la cola, intenta cargar algo específico para sí mismo o cuando lo hace explícitamente con la función wp_print_*() .

Estructura de front-end de funciones y enlaces

  • wp_head()

    • wp_head

      • (1) wp_enqueue_scripts()

        wp_enqueue_scripts «esto es lo que necesitas

      • (8) wp_print_styles()

      • (9) wp_print_head_scripts()

  • wp_footer()

    • wp_footer

      • (10) wp_print_footer_scripts()

Va mucho más profundo, pero esto es simple y lo suficientemente bueno para puntos importantes:

  • wp_enqueue_scripts es el enganche más adecuado para registrar y poner en cola los estilos y las secuencias de comandos en la parte delantera y está ahí específicamente para eso;

  • init no tiene nada que ver con esto, funcionará, pero - la recomendación pasada del Codex para usar solo era incorrecta ;

  • puede salir con los scripts de cola (no estilos) para el pie de página en cualquier momento antes de wp_print_footer_scripts() call;

  • wp_print_* hooks NO son apropiados para registro / cola , son puntos en el código cuando la salida ya está ocurriendo. Son apropiados para la salida manual / personalizada de script / estilo.

¿Qué pasa con admin?

Bueno, la funcionalidad es aún más compleja, elaborada y anidada.

  • para empezar solo use admin_enqueue_scripts hook (se pasa $hook_suffix global para cosas condicionales ) para todo, funcionará bien en la mayoría de los casos ;

  • cuando necesite algo complejo: mire a través de admin-header.php y busque desde allí los ganchos apropiados.

¿Qué pasa con el inicio de sesión?

Hay un enlace específico llamado login_enqueue_scripts .

    
respondido por el Rarst 30.06.2011 - 11:14