Come rimuovere dashicons.min.css dal frontend?

15 set 2014, 21:21:49
Visualizzazioni: 70.7K
Voti: 20

Esiste un modo per rimuovere il file dashicons.min.css dal frontend? So che viene utilizzato dal pannello di amministrazione, ma il mio tema non lo usa quindi risulta essere una richiesta non necessaria.

1
Commenti

Questo foglio di stile non viene accodato di default. È un tema o un plugin ad accodarlo.

fuxia fuxia
16 set 2014 00:10:41
Tutte le risposte alla domanda 8
5
27

Prova a deregistrare quel foglio di stile -

add_action( 'wp_print_styles',     'my_deregister_styles', 100 );

function my_deregister_styles()    { 
   //wp_deregister_style( 'amethyst-dashicons-style' ); 
   wp_deregister_style( 'dashicons' ); 


}
15 set 2014 21:52:57
Commenti

Dove hai provato? Provalo nell'hook 'wp_print_styles' in functions.php

Domain Domain
15 set 2014 22:16:32

Sì, ho aggiunto questo al mio functions.php. Ma wp_deregister_style e wp_dequeue_style non funzionano.

Slevin Slevin
15 set 2014 22:44:53

wp_deregister_style('dashicons'); ha risolto il problema.

Slevin Slevin
15 set 2014 22:53:19

OK, quindi significa che il nome dell'handle è 'dashicons'. Aggiornerò la risposta in modo che possa essere utile anche ad altri.

Domain Domain
16 set 2014 09:16:40

dopo aver aggiunto questo, ho perso gli stili della barra di amministrazione per l'admin, e possibilmente per gli utenti registrati, quindi ho utilizzato la seguente soluzione, // rimuovi dashicons nel frontend per i non-admin funziona

Yerbol Yerbol
17 apr 2023 16:08:05
0
21

Se vuoi caricare le dashicons solo per gli utenti amministratori, prova ad inserire questo nel file functions.php:

// rimuove dashicons nel frontend per i non amministratori
    function wpdocs_dequeue_dashicon() {
        if (current_user_can( 'update_core' )) {
            return;
        }
        wp_deregister_style('dashicons');
    }
    add_action( 'wp_enqueue_scripts', 'wpdocs_dequeue_dashicon' );
15 dic 2016 10:10:57
1
19

Ecco la mia soluzione a questo problema. È simile a quelle proposte da WisdmLabs e JoseLazo sopra, ma esegue un controllo condizionale migliore. Lo stile dashicons viene caricato per tutti gli utenti loggati appartenenti a qualsiasi ruolo (e non solo agli amministratori) poiché lo stile dashicons è necessario per visualizzare correttamente la barra di amministrazione frontend.

// Rimuove dashicons nel frontend per utenti non autenticati
add_action( 'wp_enqueue_scripts', 'bs_dequeue_dashicons' );
function bs_dequeue_dashicons() {
    if ( ! is_user_logged_in() ) {
        wp_deregister_style( 'dashicons' );
    }
}
29 set 2017 17:15:19
Commenti

Funziona perfettamente, grazie mille.

MitchellK MitchellK
6 apr 2021 11:02:33
0

usa wp_dequeue_style. http://codex.wordpress.org/Function_Reference/wp_dequeue_style

potrebbe essere che qualche altro foglio di stile elenchi dashicons come dipendenza, quindi se il dequeueing non funziona, verifica questo.

15 set 2014 22:15:11
0

Se vuoi deregistrare gli stili CSS dal file functions.php del tuo child theme, ti suggerisco di navigare nel tema genitore e cercare il metodo wp_enqueue_style() applicato al foglio di stile che vuoi rimuovere.

Ad esempio, se vuoi rimuovere app.css nel tuo child theme,

cerca app.css nel tuo tema genitore e trova il codice che inserisce questo stile.

Potresti trovare qualcosa come

wp_enqueue_style('parent_theme_style', get_template_directory_uri() . '/assets/css/app.css', false, '2.2');

Ora, nel tuo functions.php per il child theme, aggiungi il seguente snippet:

add_action( 'wp_print_styles', 'my_deregister_styles', 200 );

function my_deregister_styles() { 
    wp_deregister_style('parent_theme_style');
    }

Il punto cruciale è che wp_deregister_style('app') non funzionerà in questo caso.

Questo è un piccolo problema che alcune persone potrebbero non notare e quindi lo sto postando qui.

20 giu 2016 08:55:25
0

Ho scoperto che è necessario sia dequeue che deregister per farlo funzionare. Come menzionato in precedenza, l'admin richiede dashicons, quindi vuoi rimuoverli solo se l'utente non è loggato.

add_action( 'wp_print_styles', 'zgwd_dequeue_styles' );
function zgwd_dequeue_styles() { 
    if ( ! is_user_logged_in() ) {
        wp_dequeue_style( 'dashicons' );
        wp_deregister_style( 'dashicons' );
    }
}
9 apr 2020 08:40:36
0

Una soluzione sarebbe possibile combinando

    // Rimuovi dashicons nel frontend per utenti non autenticati
add_action( 'wp_enqueue_scripts', 'bs_dequeue_dashicons' );
function bs_dequeue_dashicons() {
    if ( ! is_user_logged_in() ) {
        wp_deregister_style( 'dashicons' );
    }
}

e il metodo utilizzato per sostituire il set Dashicon con Font Awesome nella Documentazione

function megamenu_use_fontawesome_arrows( $vars, $location, $theme, $menu_id, $theme_id ) {
    $vars['arrow_font'] = "'Font Awesome 5 Free'";
    $vars['arrow_font_weight'] = "900";
    $vars['arrow_up'] = "'\\f106'";
    $vars['arrow_down'] = "'\\f107'";
    $vars['arrow_left'] = "'\\f104'";
    $vars['arrow_right'] = "'\\f105'";
    return $vars;
}
11 mar 2021 22:23:01
0

Non sono sicuro di come il client finirà per caricare dashicons.min.css come risorsa nel front end. So che hai chiarito che il file non viene accodato di default e che è un tema o un plugin ad accodarlo.

Sono d'accordo con la risposta sopra di @marcochiesi, tuttavia, se stai cercando questa risposta dopo aver eseguito l'audit chrome lighthouse assicurati di non essere loggato come amministratore in WordPress al momento dell'esecuzione del report, perché una volta loggato qualsiasi pagina avrà la barra di amministrazione in alto, visibile e accessibile all'audit lighthouse.

18 giu 2021 08:19:15