Cum să eliminăm fișierul dashicons.min.css din frontend?
Există vreo modalitate de a elimina fișierul dashicons.min.css din frontend? Știu că acestea sunt folosite de panoul de administrare, dar tema mea nu le folosește, așa că este o cerere inutilă.

Unde ai încercat? Încearcă să folosești hook-ul 'wp_print_styles' în functions.php

Da, am adăugat asta în functions.php. Dar wp_deregister_style și wp_dequeue_style nu funcționează.

OK, deci înseamnă că numele handle este 'dashicons'. Permite-mi să actualizez răspunsul, astfel încât să fie util și pentru alții.

Dacă dorești să încarci dashicons doar pentru utilizatorii admin, încearcă să adaugi acest cod în fișierul functions.php:
// elimină dashicons în frontend pentru utilizatorii 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' );

Iată soluția mea pentru această problemă. Este similară cu cele propuse de WisdmLabs și JoseLazo mai sus, dar realizează o verificare condițională mai bună. Stilul dashicons este încărcat pentru toți utilizatorii autentificați care aparțin oricărui rol (nu doar administratorilor), deoarece stilul dashicons este necesar pentru afișarea corectă a barii de administrare în frontend.
// Elimină dashicons în frontend pentru utilizatorii neautentificați
add_action( 'wp_enqueue_scripts', 'bs_dequeue_dashicons' );
function bs_dequeue_dashicons() {
if ( ! is_user_logged_in() ) {
wp_deregister_style( 'dashicons' );
}
}

Folosește wp_dequeue_style. http://codex.wordpress.org/Function_Reference/wp_dequeue_style
Este posibil ca o altă foaie de stil să listeze dashicons ca o dependență, așa că dacă funcția dequeue nu funcționează, verifică acest lucru.

Dacă dorești să dezînregistrezi stilurile CSS din functions.php
al temei tale child, îți sugerez să navighezi prin tema părinte și să cauți metoda wp_enqueue_style()
aplicată pentru fișierul de stil pe care dorești să îl elimini.
De exemplu, dacă vrei să elimini app.css
în tema ta child,
caută app.css
în tema părinte și găsește codul care încarcă acest stil.
Poți găsi ceva de genul:
wp_enqueue_style('parent_theme_style', get_template_directory_uri() . '/assets/css/app.css', false, '2.2');
Acum, în functions.php
al temei tale child, adaugă următorul fragment:
add_action( 'wp_print_styles', 'my_deregister_styles', 200 );
function my_deregister_styles() {
wp_deregister_style('parent_theme_style');
}
Important de reținut este că wp_deregister_style('app')
nu va funcționa în acest caz.
Acesta este un mic detaliu pe care unii îl pot rata, de aceea l-am menționat aici.

Am descoperit că a trebuit să dezactivez și să deregistrez stilurile pentru ca soluția să funcționeze. După cum s-a menționat anterior, panoul de administrare necesită dashicons, așa că doriți să le eliminați doar dacă utilizatorul nu este autentificat.
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' );
}
}

O soluție ar fi posibilă prin combinarea
// Elimină dashicons în frontend pentru utilizatorii neautentificați
add_action( 'wp_enqueue_scripts', 'bs_dequeue_dashicons' );
function bs_dequeue_dashicons() {
if ( ! is_user_logged_in() ) {
wp_deregister_style( 'dashicons' );
}
}
și metoda pe care o folosește pentru a înlocui setul Dashicon cu Font Awesome în Documentație
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;
}

Nu sunt sigur cum clientul va ajunge să încarce dashicons.min.css ca resursă în front-end. Știu că ai clarificat că fișierul nu este încărcat implicit și că o temă sau un plugin îl încarcă.
Susțin răspunsul de mai sus oferit de @marcochiesi, totuși, dacă cauți acest răspuns după ce ai rulat auditul Lighthouse din Chrome, asigură-te că nu ești autentificat ca administrator în WordPress în momentul rulării raportului, deoarece odată autentificat, orice pagină va avea bara de administrare în partea de sus, vizibilă și accesibilă pentru auditul Lighthouse.
