Como remover dashicons.min.css do frontend?

3

Existe alguma maneira de remover o arquivo dashicons.min.css do frontend? Eu sei que eles são usados pelo painel de administração, mas meu tema não os usa, então é um pedido desnecessário.

    
por Slevin 15.09.2014 / 20:21

5 respostas

11

Tente cancelar o registro dessa folha de estilo -

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

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


}
    
por WisdmLabs 15.09.2014 / 20:52
7

Se você quiser carregar doshicons apenas para o usuário admin, tente colocar isso no arquivo functions.php:

// remove dashicons in frontend to non-admin 
    function wpdocs_dequeue_dashicon() {
        if (current_user_can( 'update_core' )) {
            return;
        }
        wp_deregister_style('dashicons');
    }
    add_action( 'wp_enqueue_scripts', 'wpdocs_dequeue_dashicon' );
    
por JoseLazo 15.12.2016 / 09:10
2

Aqui está minha solução para esse problema. É semelhante aos propostos por WisdmLabs e JoseLazo acima, mas realiza uma melhor verificação condicional. O estilo dashicons é carregado para todos os usuários logados pertencentes a qualquer função (e não apenas administradores), já que o estilo doshicons é necessário para exibir corretamente a barra de administração do frontend.

// Remove dashicons in frontend for unauthenticated users
add_action( 'wp_enqueue_scripts', 'bs_dequeue_dashicons' );
function bs_dequeue_dashicons() {
    if ( ! is_user_logged_in() ) {
        wp_deregister_style( 'dashicons' );
    }
}
    
por marcochiesi 29.09.2017 / 16:15
0

use o wp_dequeue_style. enlace

pode ser que alguma outra folha de estilo esteja listando os dentes como uma dependência, portanto, se o dequeueing não funcionar, verifique isso.

    
por Caleb 15.09.2014 / 21:15
0

Se você quiser cancelar o registro de estilos CSS do functions.php de seu filho, sugiro navegar pelo tema pai e pesquisar o método wp_enqueue_style() aplicado à folha de estilos que você deseja remover.

Por exemplo, se você quiser remover app.css em seu tema filho,

pesquise app.css no seu tema pai e encontre o código que enfileira esse estilo.

Você pode encontrar algo como

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

Agora, no seu functions.php para seu tema filho, adicione o seguinte snippet:

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

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

O problema é que wp_derigster_stlye('app') não funciona aqui.

Este é um pequeno problema que algumas pessoas podem perder e, portanto, publicá-lo aqui.

    
por Shoaib Ali C H 20.06.2016 / 07:55