是否有任何方法可以删除虚线图标。来自前端的min.css文件?我知道它们被管理面板使用,但我的主题没有使用它们,所以这是一个不必要的请求。
如何从前台移除dashics.min.css?
尝试注销该样式表-
add_action( \'wp_print_styles\', \'my_deregister_styles\', 100 );
function my_deregister_styles() {
//wp_deregister_style( \'amethyst-dashicons-style\' );
wp_deregister_style( \'dashicons\' );
}
如果只想将dashicons加载到admin用户,请尝试将其放入函数中。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\' );
这是我对这个问题的解决方案。它与上面WisdmLabs和JoseLazo提出的类似,但它执行更好的条件检查。dashicons样式是为属于任何角色(而不仅仅是管理员)的所有登录用户加载的,因为需要dashicons样式才能正确显示前端管理栏。
// 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\' );
}
}
使用wp\\u dequeue\\u样式。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_derigster_stlye(\'app\')
在这里行不通。这是一个一些人可能会错过的小问题,因此将其张贴在此处。
我发现我必须同时退出队列和取消注册才能使其工作。如前所述,管理员需要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\' );
}
}
可以通过组合
// 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\' );
}
}
他在文档中使用的方法是将Dashicon集替换为字体Awesomefunction 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 audit后正在寻找此答案,请确保您在运行报告时没有以管理员身份登录WordPress,因为一旦登录任何页面,lighthouse audit都会看到顶部的管理栏,并且可以访问该栏。