Come caricare il CSS nel footer
Stavo cercando di spostare il caricamento del mio style.css nel footer del mio tema WordPress. Ho già fatto qualcosa di simile con 2 file js e funziona bene, si caricano nel 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');
// carico un file JS dal mio 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');
Ora stavo cercando di spostare nel footer anche il style.css, e mantenere solo alcune regole css inline nel tag head. Ho provato wp_enqueue_style ma sembra non funzionare bene per me.
Qualcuno potrebbe aiutarmi a trovare una soluzione intelligente?

In realtà tutti gli stili dovrebbero essere posizionati nell'header. WordPress non ha un parametro per farlo nella funzione wp_enqueue_style
, perché tradizionalmente tutti gli stili venivano aggiunti nel head
. Recentemente, molti siti sono passati a un sistema in cui gli stili critici "above the fold" vengono caricati nell'head, mentre gli altri stili vengono caricati nel footer.
Ecco un modo per farlo: puoi usare la funzione print_late_styles()
che viene chiamata nel footer. Devi solo accodare i tuoi stili quando l'header è già stato processato.
Quindi devi trovare un hook che viene chiamato in ogni pagina e dopo l'hook wp_head
. Ad esempio get_footer
potrebbe essere 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' );

Ma se voglio forzare lo stile nel footer, come potrei fare? Non c'è davvero alcun modo per farlo?

print_late_styles()
potrebbe essere utilizzato per quello, anche se non dovresti, esso »Stampa gli stili che sono stati accodati troppo tardi per l'head HTML.«. @GiulioBambini

@Emetrop potresti cortesemente mostrarmi un esempio di codice sulla funzionalità di print_late_style?

In realtà è un mito che gli stili debbano essere nell'head, gli stili che sono essenziali per il rendering iniziale della pagina dovrebbero essere nell'head. Altri stili meno critici possono essere caricati in fondo alla pagina per ottimizzare la velocità di caricamento.
