Cómo cargar CSS en el pie de página
Estaba intentando mover la carga de mi style.css al pie de página (footer) de mi tema de WordPress. Ya he hecho algo similar con 2 archivos js y funciona bien, se cargan en el footer:
function my_init() {
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://www.studionews24.com/wp-content/themes/network/js/jquery.min.js', false, '1.3.2', true);
wp_enqueue_script('jquery');
// cargar un archivo JS desde mi tema: js/theme.js
wp_enqueue_script('my_script', 'http://www.studionews24.com/wp-content/themes/network/js/menu-resp.js', array('jquery'), '1.0', true);
}
}
add_action('init', 'my_init');
Ahora estaba tratando de mover también el style.css al footer, y mantener solo algunas reglas CSS en línea en la etiqueta. He probado wp_enqueue_style pero parece que no funciona bien para mí.
¿Alguien podría ayudarme a encontrar una solución inteligente?

Actualmente, todos los estilos deberían colocarse en el encabezado. WordPress no tiene un parámetro para hacer esto en la función wp_enqueue_style
, porque tradicionalmente todos los estilos se agregaban en el head
. Recientemente, muchos sitios han migrado a un sistema donde los estilos críticos "above the fold" (sobre el pliegue) se cargan en el encabezado, mientras que otros estilos se cargan en el pie de página.
Aquí hay una forma de hacerlo: Puedes usar la función print_late_styles()
que se llama en el pie de página. Solo necesitas poner en cola tus estilos cuando el encabezado ya ha pasado.
Entonces necesitas encontrar algún hook que se ejecute en cada página y después del hook wp_head
. Por ejemplo, get_footer
podría ser uno.
function prefix_add_footer_styles() {
wp_enqueue_style( 'your-style-id', get_template_directory_uri() . '/stylesheets/somestyle.css' );
};
add_action( 'get_footer', 'prefix_add_footer_styles' );

Pero si quiero forzar el estilo en el footer, ¿cómo podría hacerlo? ¿Realmente no hay forma de hacerlo?

print_late_styles()
podría usarse para eso, aunque no deberías hacerlo, ya que »Imprime los estilos que se encolaron demasiado tarde para el head del HTML.«. @GiulioBambini

@Emetrop ¿podrías ser tan amable de mostrarme un ejemplo de código sobre la funcionalidad de print_late_style?

En realidad es un mito que los estilos deban estar en el head, los estilos que son esenciales para la renderización inicial de la página deben estar en el head. Otros estilos menos críticos pueden cargarse al final para optimizar la velocidad de carga de la página.
