¿Cómo forzar a wp_enqueue_scripts para que se cargue al FINAL de <head>?

4 jul 2012, 06:55:13
Vistas: 15.4K
Votos: 8

Estoy cargando scripts mediante wp_enqueue_scripts en mi tema hijo.

El único problema es que mi script style.css se carga ANTES que los scripts de los plugins, pero necesito sobrescribir el CSS de los plugins con mi style.css. Por lo tanto, necesita cargarse DESPUÉS de los scripts de los plugins.

No quiero añadir "!important" a todos mis estilos CSS porque sería tedioso y podría romper parte de mi diseño.

Intenté añadir prioridad pero no afectó el orden de carga en absoluto.

    add_action('wp_enqueue_scripts', 'scripts', 9999);

Simplemente me gustaría que wp_enqueue_scripts se ejecute al final del header, justo antes de </head>. ¿Cómo se puede hacer? Gracias :-)

ACTUALIZACIÓN:

¡Lo resolví!

Simplemente registra el filtro con:

    add_action('wp_print_styles', 'scripts');

wp_print_styles se carga con una prioridad de 8, y aún los coloca en el header porque es parte de wp_head.

Descubrí esto mirando en wp-includes/default-filters.php, ¡así que gracias por el consejo! :-)

0
Todas las respuestas a la pregunta 2
3

wp_enqueue_scripts se añade por defecto con una prioridad de 1 a wp_head. Consulta wp-includes/default-filters.php para más detalles.

Puedes intentar cambiar la prioridad:

remove_action( 'wp_head', 'wp_enqueue_scripts', 1 );
add_action( 'wp_head', 'wp_enqueue_scripts', 9999 );

Pero no lo recomiendo. Probablemente haya una buena razón para el valor predeterminado. Algunos scripts podrían dejar de funcionar si cambias esto.

4 jul 2012 07:36:02
Comentarios

Desafortunadamente, hacer esto hace que todo el sitio web deje de funcionar.

Nate Nate
4 jul 2012 08:47:42

No lo creo, pero sí, los efectos secundarios son inevitables.

fuxia fuxia
4 jul 2012 14:57:05

por favor intenta describir esto y dile a todos, ¿cómo esto podría poner los scripts y estilos encolados al final del head del documento?, ya que claramente los coloca al final del body!!

WordPress Speed WordPress Speed
12 jul 2019 12:40:01
0

Creo que la forma más compatible con WordPress de hacer esto es usar el parámetro $deps de wp_enqueue_styles(). Suponiendo que los estilos del plugin se carguen mediante wp_enqueue_styles() (lo cual, lamentablemente, muy pocos hacen), puedes listar un array de los handles de las hojas de estilo de las que dependen tus estilos y así se cargarán después.

4 jul 2012 18:40:07