How do I force wp_enqueue_scripts to load at the END of <head>?
Î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! :-)
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.
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.