¿Cómo eliminar dashicons.min.css del frontend?

15 sept 2014, 21:21:49
Vistas: 70.7K
Votos: 20

¿Hay alguna manera de eliminar el archivo dashicons.min.css del frontend? Sé que son utilizados por el panel de administración, pero mi tema no los usa, por lo que es una solicitud innecesaria.

1
Comentarios

Esta hoja de estilo no se encola por defecto. Un tema o un plugin la encola.

fuxia fuxia
16 sept 2014 00:10:41
Todas las respuestas a la pregunta 8
5
27

Intenta desregistrar esa hoja de estilos -

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

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


}
15 sept 2014 21:52:57
Comentarios

¿Dónde lo intentaste? Pruébalo en el hook 'wp_print_styles' en functions.php

Domain Domain
15 sept 2014 22:16:32

Sí, agregué esto a mi functions.php. Pero wp_deregister_style y wp_dequeue_style no funcionan.

Slevin Slevin
15 sept 2014 22:44:53

wp_deregister_style('dashicons'); funcionó.

Slevin Slevin
15 sept 2014 22:53:19

OK, eso significa que el nombre del handle es 'dashicons'. Déjame actualizar la respuesta para que pueda ser útil para otros.

Domain Domain
16 sept 2014 09:16:40

después de agregar esto, perdí los estilos de la barra de administración para el administrador, y posiblemente para los usuarios registrados, así que usé la siguiente solución, // eliminar dashicons en el frontend para no administradores eso funcionó

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

Si deseas cargar dashicons solo para usuarios administradores, intenta colocar esto en el archivo functions.php:

// eliminar dashicons en el frontend para no administradores
    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

Aquí está mi solución para este problema. Es similar a las propuestas por WisdmLabs y JoseLazo anteriormente, pero realiza una verificación condicional mejorada. El estilo de dashicons se carga para todos los usuarios autenticados que pertenezcan a cualquier rol (y no solo administradores) ya que el estilo dashicons es necesario para mostrar correctamente la barra de administración en el frontend.

// Eliminar dashicons en el frontend para usuarios no autenticados
add_action( 'wp_enqueue_scripts', 'bs_dequeue_dashicons' );
function bs_dequeue_dashicons() {
    if ( ! is_user_logged_in() ) {
        wp_deregister_style( 'dashicons' );
    }
}
29 sept 2017 17:15:19
Comentarios

Funciona perfectamente, muchas gracias.

MitchellK MitchellK
6 abr 2021 11:02:33
0

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

Puede que alguna otra hoja de estilo esté listando dashicons como una dependencia, así que si desencolarlo no funciona, verifica eso.

15 sept 2014 22:15:11
0

Si deseas desregistrar estilos CSS desde el archivo functions.php de tu tema hijo, te sugiero navegar por el tema padre y buscar el método wp_enqueue_style() aplicado para la hoja de estilos que deseas eliminar.

Por ejemplo, si quieres eliminar app.css en tu tema hijo,

busca app.css en tu tema padre y encuentra el código que encola este estilo.

Puedes encontrar algo como:

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

Ahora, en tu archivo functions.php del tema hijo, agrega el siguiente fragmento:

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

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

El detalle es que wp_derigster_stlye('app') no funcionará aquí.

Este es un pequeño problema que algunas personas podrían pasar por alto y por eso lo publico aquí.

20 jun 2016 08:55:25
0

Descubrí que tenía que tanto desencolar como desregistrar para que funcionara. Como se mencionó anteriormente, el administrador requiere dashicons, por lo que solo quieres eliminarlos si el usuario no ha iniciado sesión.

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 abr 2020 08:40:36
0

Una solución sería posible combinando

    // Eliminar dashicons en el frontend para usuarios no autenticados
add_action( 'wp_enqueue_scripts', 'bs_dequeue_dashicons' );
function bs_dequeue_dashicons() {
    if ( ! is_user_logged_in() ) {
        wp_deregister_style( 'dashicons' );
    }
}

y el método que utiliza para reemplazar el conjunto Dashicon con Font Awesome en la Documentación

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

No estoy seguro de cómo el cliente terminará cargando dashicons.min.css como un recurso en el frontend. Sé que aclaraste que el archivo no se encola por defecto y que un tema o un plugin lo encola.

Apoyo la respuesta anterior de @marcochiesi, sin embargo, si estás buscando esta respuesta después de ejecutar la auditoría de Lighthouse en Chrome, asegúrate de no estar conectado como administrador en WordPress en el momento de ejecutar el informe, porque una vez conectado, cualquier página tendría la barra de administración en la parte superior, visible y accesible para la auditoría de Lighthouse.

18 jun 2021 08:19:15