Как удалить dashicons.min.css из фронтенда?
Есть ли способ удалить файл dashicons.min.css из фронтенда? Я знаю, что они используются в панели администратора, но моя тема их не использует, поэтому это лишний запрос.

Где вы пробовали это сделать? Попробуйте использовать хук 'wp_print_styles' в functions.php

Да, я добавил это в свой functions.php. Но wp_deregister_style и wp_dequeue_style не работают.

Хорошо, значит, название обработчика — 'dashicons'. Позвольте мне обновить ответ, чтобы он был полезен другим.

Если вы хотите загружать dashicons только для администратора, добавьте этот код в файл functions.php:
// удаляем dashicons во фронтенде для не-администраторов
function wpdocs_dequeue_dashicon() {
if (current_user_can( 'update_core' )) {
return;
}
wp_deregister_style('dashicons');
}
add_action( 'wp_enqueue_scripts', 'wpdocs_dequeue_dashicon' );

Вот моё решение этой проблемы. Оно похоже на предложенные выше варианты от WisdmLabs и JoseLazo, но выполняет более точную проверку условия. Стили dashicons загружаются для всех авторизованных пользователей с любой ролью (а не только для администраторов), так как стиль dashicons необходим для правильного отображения административной панели во фронтенде.
// Удаляем dashicons во фронтенде для неавторизованных пользователей
add_action( 'wp_enqueue_scripts', 'bs_dequeue_dashicons' );
function bs_dequeue_dashicons() {
if ( ! is_user_logged_in() ) {
wp_deregister_style( 'dashicons' );
}
}

используйте wp_dequeue_style. http://codex.wordpress.org/Function_Reference/wp_dequeue_style
может быть так, что другая таблица стилей указывает dashicons в качестве зависимости, поэтому если отключение не сработает, проверьте это.

Если вы хотите отменить регистрацию CSS-стилей в дочерней теме через файл functions.php
, я рекомендую изучить родительскую тему и найти метод wp_enqueue_style()
, который применяется для таблицы стилей, которую вы хотите удалить.
Например, если вы хотите убрать app.css
в дочерней теме,
найдите app.css
в родительской теме и определите код, который подключает этот стиль.
Вы можете обнаружить что-то вроде:
wp_enqueue_style('parent_theme_style', get_template_directory_uri() . '/assets/css/app.css', false, '2.2');
Теперь в вашем functions.php
для дочерней темы добавьте следующий фрагмент:
add_action( 'wp_print_styles', 'my_deregister_styles', 200 );
function my_deregister_styles() {
wp_deregister_style('parent_theme_style');
}
Важно: wp_deregister_style('app')
здесь не сработает.
Это небольшая деталь, которую могут упустить, поэтому я решил поделиться этим здесь.

Я обнаружил, что для работы необходимо как убрать из очереди (dequeue), так и отменить регистрацию (deregister) стилей. Как упоминалось ранее, админ-панель требует dashicons, поэтому удалять их следует только если пользователь не авторизован.
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' );
}
}

Решение возможно путем комбинирования
// Удаление dashicons во фронтенде для неавторизованных пользователей
add_action( 'wp_enqueue_scripts', 'bs_dequeue_dashicons' );
function bs_dequeue_dashicons() {
if ( ! is_user_logged_in() ) {
wp_deregister_style( 'dashicons' );
}
}
и метода, который он использует для замены набора Dashicon на Font Awesome в документации
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;
}

Не уверен, как клиент в итоге будет загружать dashicons.min.css как ресурс на фронтенде. Я знаю, что вы уточнили, что этот файл не подключается по умолчанию, и его подключает тема или плагин.
Я поддерживаю ответ выше от @marcochiesi, однако, если вы ищете этот ответ после запуска аудита Lighthouse в Chrome, убедитесь, что вы не авторизованы как администратор WordPress на момент запуска отчёта, потому что при авторизации любая страница будет иметь административную панель вверху, видимую и доступную для аудита Lighthouse.
