如何从前台移除dashics.min.css?

时间:2014-09-15 作者:Slevin

是否有任何方法可以删除虚线图标。来自前端的min.css文件?我知道它们被管理面板使用,但我的主题没有使用它们,所以这是一个不必要的请求。

8 个回复
最合适的回答,由SO网友:Domain 整理而成

尝试注销该样式表-

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

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


}

SO网友:JoseLazo

如果只想将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\' );

SO网友:marcochiesi

这是我对这个问题的解决方案。它与上面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\' );
    }
}

SO网友:Caleb

使用wp\\u dequeue\\u样式。http://codex.wordpress.org/Function_Reference/wp_dequeue_style

可能是其他一些样式表将dashicons列为依赖项,所以如果出列不起作用,请检查是否存在这种情况。

SO网友:Shoaib Ali C H

如果要取消注册子主题的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\') 在这里行不通。

这是一个一些人可能会错过的小问题,因此将其张贴在此处。

SO网友:ZeroGravity

我发现我必须同时退出队列和取消注册才能使其工作。如前所述,管理员需要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\' );
    }
}

SO网友:farid teymouri

可以通过组合

    // 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集替换为字体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;
}

SO网友:Raul Reyes

不确定客户端将如何加载dashicons.min.css 作为前端的资源。我知道您澄清了文件在默认情况下不会排队,主题或插件会将其排队。

我支持@marcochiesi给出的上述答案,但是,如果您在运行lighthouse chrome audit后正在寻找此答案,请确保您在运行报告时没有以管理员身份登录WordPress,因为一旦登录任何页面,lighthouse audit都会看到顶部的管理栏,并且可以访问该栏。

结束

相关推荐