How do I force wp_enqueue_scripts to load at the END of <head>?

4 iul. 2012, 06:55:13
Vizualizări: 15.4K
Voturi: 8

Încarc scripturile prin wp_enqueue_scripts în tema mea child.

Singura problemă este că scriptul meu style.css se încarcă ÎNAINTE de scripturile plugin-urilor, dar eu trebuie să suprascriu CSS-ul din plugin-uri cu style.css-ul meu. Deci trebuie să se încarce DUPĂ scripturile plugin-urilor.

Nu vreau să adaug "!important" la toate stilurile mele CSS pentru că ar fi obositor și ar putea strica o parte din stilizarea mea.

Am încercat să adaug o prioritate dar nu a afectat deloc ordinea de încărcare.

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

Aș vrea pur și simplu ca wp_enqueue_scripts să se încarce chiar la sfârșitul header-ului, chiar înainte de </head>. Cum se poate face? Mulțumesc :-)

UPDATE:

Am reușit să rezolv!

Pur și simplu înregistrează filtrul cu:

    add_action('wp_print_styles', 'scripts');

wp_print_styles se încarcă cu o prioritate de 8, și tot le plasează în header pentru că face parte din wp_head.

Am descoperit asta uitându-mă în wp-includes/default-filters.php, deci mulțumesc pentru pont! :-)

0
Toate răspunsurile la întrebare 2
3

wp_enqueue_scripts este adăugat implicit cu o prioritate de 1 la wp_head. Consultați wp-includes/default-filters.php pentru detalii.

Puteți încerca să schimbați prioritatea:

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

Dar nu recomand acest lucru. Există probabil un motiv bun pentru valoarea implicită. Unele scripturi pot să nu mai funcționeze dacă modificați această valoare.

4 iul. 2012 07:36:02
Comentarii

Din păcate, făcând acest lucru întregul site web se defectează.

Nate Nate
4 iul. 2012 08:47:42

Nu cred asta, dar, da, efectele secundare sunt inevitabile.

fuxia fuxia
4 iul. 2012 14:57:05

te rog să încerci să descrii acest lucru și să le spui tuturor, cum ar putea acest lucru să pună scripturile și stilurile în așteptare la sfârșitul head-ului documentului, deoarece acest lucru le plasează clar la sfârșitul body-ului!!

WordPress Speed WordPress Speed
12 iul. 2019 12:40:01
0

Cred că o metodă mai prietenoasă cu WordPress pentru a face asta este să folosești parametrul $deps al funcției wp_enqueue_styles(). Presupunând că stilurile plugin-ului sunt încărcate prin wp_enqueue_styles() (ceea ce, din păcate, foarte puține fac), poți specifica un array cu identificatorii fișierelor de stil de care depind stilurile tale, astfel încât acestea să se încarce ulterior.

4 iul. 2012 18:40:07