Cum să încarci css în footer

1 mai 2015, 19:09:39
Vizualizări: 72.6K
Voturi: 22

Încercam să mut încărcarea fișierului style.css în footer-ul temei mele WordPress. Am făcut deja ceva similar cu 2 fișiere js și funcționează bine, acestea se încarcă în 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');

        // încarc un fișier JS din tema mea: 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');

Acum încercam să mut în footer și fișierul style.css, și să păstrez doar câteva reguli css inline în tag-ul head. Am încercat wp_enqueue_style dar se pare că nu funcționează bine pentru mine.

Mă poate ajuta cineva să găsesc o soluție inteligentă?

0
Toate răspunsurile la întrebare 1
4
43

De fapt, toate stilurile ar trebui plasate în header. WordPress nu are un parametru pentru a face acest lucru în funcția wp_enqueue_style, deoarece tradițional toate stilurile erau adăugate în head. Recent, multe site-uri au trecut la un sistem în care stilurile critice "above the fold" (de deasupra pliului) sunt încărcate în header, iar celelalte stiluri sunt încărcate în footer.

Iată o metodă pentru a face acest lucru: Puteți folosi funcția print_late_styles() care este apelată în footer. Trebuie doar să încărcați stilurile după ce header-ul a fost deja procesat.

Deci trebuie să găsiți un hook care este apelat pe fiecare pagină și după hook-ul wp_head. De exemplu, get_footer ar putea fi unul.

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' );
1 mai 2015 19:29:10
Comentarii

Dar dacă vreau să forțez stilul în footer, cum aș putea face? Chiar nu există nicio modalitate de a face asta?

Giulio Bambini Giulio Bambini
1 mai 2015 19:33:35

print_late_styles() ar putea fi folosit pentru asta, deși nu ar trebui, »Tipărește stilurile care au fost adăugate în coadă prea târziu pentru head-ul HTML.«. @GiulioBambini

Nicolai Grossherr Nicolai Grossherr
1 mai 2015 19:39:31

@Emetrop ai putea, te rog, să fii atât de amabil încât să-mi arăți un exemplu de cod despre funcționalitatea print_late_style?

Giulio Bambini Giulio Bambini
1 mai 2015 19:50:06

De fapt, este un mit că stilurile trebuie să fie în head, stilurile care sunt esențiale pentru randarea inițială a paginii ar trebui să fie în head. Alte stiluri mai puțin critice pot fi încărcate la final pentru a optimiza viteza de încărcare a paginii.

NextGenThemes NextGenThemes
25 feb. 2017 22:53:38