很长时间以来,wordpress大陆用户的使用体验一直不好,页面卡顿、加载缓慢,甚至有时无法正确加载,比如Elementor编辑页面时非常的卡,而且经常会出现页面无法打开的情况,就像下图这样。

WP优化之彻底禁用前台和后台的谷歌字体

出现这种情况的原因就是很多国外插件包括wp核心都有谷歌字体的引用,但是谷歌网站在国内被墙了,导致谷歌字体404无法加载,就会导致wordpress变卡以及elementor编辑页面打不开的情况。

对此,网上的解决办法有很多,有安装插件禁用谷歌字体的,有将谷歌字体链接替换成国内代理地址加速的,有将谷歌字体本地化的,也有改代码的。对此,我对国内用户的建议是,直接彻底禁用即可,默认字体就挺好的。

将下面代码添加到你主题的function.php里面即可,强烈建议使用子主题修改,不受主题更新影响。

/*
 * 通过Link标签的src地址判断后反注册禁用谷歌字体加载.
 */
if (!function_exists('disable_google_fonts')) {
    function drgf_dequeueu_fonts()
    {
        global $wp_styles;
 
        if (!($wp_styles instanceof WP_Styles)) {
            return;
        }
 
        $allowed = apply_filters('drgf_exceptions', ['olympus-google-fonts']);
 
        foreach ($wp_styles->registered as $style) {
            $handle = $style->handle;
            $src = $style->src;
            $exist = strpos($src, 'fonts.googleapis');
            if (false !== $exist) {
                if (!array_key_exists($handle, array_flip($allowed))) {
                    wp_dequeue_style($handle);
                    wp_deregister_style($handle);
                    wp_register_style($handle, '');
                }
            }
        }
    }
    add_action('wp_enqueue_scripts', 'drgf_dequeueu_fonts', 999);
    add_action('admin_enqueue_scripts', 'drgf_dequeueu_fonts', 999);
    add_action('login_enqueue_scripts', 'drgf_dequeueu_fonts', 999);
 
    /*
     * 禁用 Elementor 插件加载的谷歌字体.
     */
    add_filter('elementor/frontend/print_google_fonts', '__return_false');
}

禁用后,你应该会发现wordpress变快了,至少使用Elementor和UiPress的我发现后台速度明显变快很多。

发表回复

后才能评论