Come forzare wp_enqueue_scripts a caricarsi alla FINE di <head>?

4 lug 2012, 06:55:13
Visualizzazioni: 15.4K
Voti: 8

Sto caricando gli script tramite wp_enqueue_scripts nel mio child theme.

L'unico problema è che il mio script style.css viene caricato PRIMA degli script dei plugin, mentre ho bisogno di sovrascrivere il CSS dei plugin con il mio style.css. Quindi deve caricarsi DOPO gli script dei plugin.

Non voglio aggiungere "!important" a tutti i miei stili CSS perché sarebbe noioso e potrebbe rompere alcuni dei miei stili.

Ho provato ad aggiungere una priorità ma non ha avuto alcun effetto sull'ordine di caricamento.

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

Vorrei semplicemente che wp_enqueue_scripts venisse eseguito alla fine dell'header, appena prima di </head>. Come posso farlo? Grazie :-)

AGGIORNAMENTO:

Eureka! Ho trovato la soluzione!

Basta registrare il filtro con:

    add_action('wp_print_styles', 'scripts');

wp_print_styles viene caricato con una priorità di 8, e comunque li posiziona nell'header perché fa parte di wp_head.

Ho scoperto questo esaminando wp-includes/default-filters.php, quindi grazie per il suggerimento! :-)

0
Tutte le risposte alla domanda 2
3

wp_enqueue_scripts viene aggiunto di default con una priorità di 1 a wp_head. Per i dettagli, vedi wp-includes/default-filters.php.

Puoi provare a cambiare la priorità:

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

Ma non lo consiglio. Probabilmente c'è una buona ragione per il valore predefinito. Alcuni script potrebbero non funzionare più se modifichi questo valore.

4 lug 2012 07:36:02
Commenti

Sfortunatamente, fare questo causa l'interruzione dell'intero sito web.

Nate Nate
4 lug 2012 08:47:42

Non ci credo, ma, sì, gli effetti collaterali sono inevitabili.

fuxia fuxia
4 lug 2012 14:57:05

per favore prova a descrivere questo e comunica a tutti come questo potrebbe posizionare script e stili accodati alla fine dell'head del documento, dato che chiaramente li mette alla fine del body!!

WordPress Speed WordPress Speed
12 lug 2019 12:40:01
0

Penso che il modo più compatibile con WordPress per fare questo sia utilizzare il parametro $deps di wp_enqueue_styles(). Supponendo che gli stili del plugin siano accodati tramite wp_enqueue_styles() (cosa che, purtroppo, pochissimi plugin fanno), puoi specificare un array degli handle dei fogli di stile da cui dipendono i tuoi stili, che verranno così caricati successivamente.

4 lug 2012 18:40:07