如何从 Wordpress 移除 dashicons CSS

Wordpress 使用 dashicons 作为其主要图标字体。但是,许多主题在前端不需要 dashicons,因此它只在管理前端使用,即用户登录时。

我制作了一个简单的插件,使 Wordpress 仅在用户登录时加载 dashicons CSS。对于未登录用户,dashicons CSS 从前端移除(从而提高网站的加载速度)。

techoverflow-no-dashicons/functions.php
<?php
/*
Plugin Name: TechOverflow 移除 dashicons
*/

/**
 * 从页面移除 dashicons CSS,仅在用户登录时加载
 */
function dashicons_admin_only() {
    if(!is_user_logged_in()) {
        global $wp_styles;
        wp_dequeue_style('dashicons');
        // wp_deregister_style('dashicons') 在 Wordpress 中会导致内部 PHP 错误!
        $wp_styles->registered['dashicons']->src = '';
    }
}

add_action( 'wp_print_styles', 'dashicons_admin_only' );

只需在你的 wp-content/plugins 目录中创建一个名为 techoverflow-no-dashicons 的新文件夹,并将上面列出的源代码保存为 wp-content/plugins/techoverflow-no-dashicons/functions.php。之后,你可以修改代码以适合你的特定需求。

注意使用此插件可能会使你的网站在登录时显示不同。因此,重要的是在未登录时检查你的网站,例如使用隐身模式


Check out similar posts by category: PHP, Wordpress