¿Cómo eliminar dashicons.min.css del frontend?
¿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.

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

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

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

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' );

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' );
}
}

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.

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í.

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' );
}
}

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;
}

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.
