wp_dequeue_style non funziona

16 set 2015, 20:23:02
Visualizzazioni: 13.6K
Voti: 11

Sto cercando di eliminare un font che un plugin carica nel front end, dato che lo sto già caricando io stesso e il plugin carica tutti gli stili del font, che non mi servono.

Ecco il mio codice:

//Rimuovi open sans  
    function custom_dequeue() {
        wp_dequeue_style('et-gf-open-sans');
    }

    add_action( 'wp_enqueue_scripts', 'custom_dequeue' );

//Ho anche provato
    add_action( 'wp_print_styles', 'custom_dequeue', 9999 );

//E anche agganciandomi a: wp_footer, wp_head, wp_print_scripts, 
//tutti con priorità alta e priorità di default, senza successo

Tutte queste soluzioni spostano semplicemente il codice dall'head a prima del tag di chiusura </body>.

Ho contattato l'autore del plugin e la risposta è stata il codice che ho già provato. Sto aspettando un'altra risposta.

Inoltre, sono sicuro di avere il nome corretto dell'handle. Ho modificato l'URL del codice per individuare esattamente quale riga stava caricando il font. (L'autore ha più punti in cui carica i font.)

Qualche idea?

---------------------------------------------

Modifica

Viene caricato con questa azione:

add_action( 'wp_enqueue_scripts', array( $this, 'load_scripts_styles' ) );

E viene accodato nella funzione load_scripts_styles

Ho provato una priorità alta su tutto.

Sto anche usando un plugin chiamato query monitor che mostra l'ordine di tutti gli hook e quale plugin si aggancia a cosa, insieme alla funzione che esegue l'aggancio. Il mio codice appare dopo quello del plugin, ma tutto ciò che succede è che viene spostato dall'header al footer. Mi sta facendo impazzire!

8
Commenti

Come viene accodato?

birgire birgire
16 set 2015 21:09:12

Hai provato ad usare una priorità alta sull'hook di azione 'wp_enqueue_scripts'? Lo chiedo solo perché non l'hai mostrato o menzionato esplicitamente. La maggior parte di plugin e temi al giorno d'oggi gestisce gli stili tramite quell'hook, quindi sei molto vicino, puoi aggiungere la priorità anche lì.

totels totels
16 set 2015 21:12:23

@birgire Ho modificato il mio post rispondendo alle tue domande. grazie per il tuo aiuto

John_911 John_911
16 set 2015 21:23:26

@totels Ho modificato il mio post rispondendo alle tue domande. grazie per il tuo aiuto

John_911 John_911
16 set 2015 21:23:45

sei sicuro che non ci sia del codice da qualche altra parte che lo sta controllando e caricando dopo? se appare nel footer, potrebbe essere agganciato a qualsiasi cosa che si attiva prima o durante wp_footer.

Milo Milo
16 set 2015 21:27:24

@Milo questo deve essere ciò che sta accadendo, è l'unica cosa che potrebbe spiegarlo, giusto?

John_911 John_911
16 set 2015 21:32:05

Immagino di sì. Potresti anche provare a deregistrarlo invece che semplicemente rimuoverlo dalla coda, in questo modo non può essere riaggiunto senza ri-registrarlo o senza specificare tutti i parametri.

Milo Milo
16 set 2015 21:43:46

@Milo grazie per il tuo aiuto. Ho pubblicato una risposta. Ora tutto a posto.

John_911 John_911
16 set 2015 22:09:29
Mostra i restanti 3 commenti
Tutte le risposte alla domanda 1
1
22

Ok, ho risolto questo problema.

function custom_dequeue() {
    wp_dequeue_style('et-gf-open-sans');
    wp_deregister_style('et-gf-open-sans');
}

add_action( 'wp_enqueue_scripts', 'custom_dequeue', 9999 );
add_action( 'wp_head', 'custom_dequeue', 9999 );

@milo aveva ragione. Il plugin stava ri-accodando il foglio di stile, quindi deregistrandolo sono riuscito a far smettere il caricamento di quel file.

Poi il plugin aveva un altro controllo, dove registrava e accodava un altro font con lo stesso handle. L'azione era agganciata a wp_head quindi ho aggiunto un'altra azione a wp_head e finalmente sono riuscito a fermarne completamente il caricamento!

Grazie a tutti per l'aiuto!

16 set 2015 22:08:38
Commenti

stesso problema qui, ma ancora non risolto nel caso di Modern Events Calendar Lite :(

eapo eapo
12 mag 2019 08:30:43