Google Fonts导致WordPress 速度问题的三个解决方案

时间:2022-04-23
本文章向大家介绍Google Fonts导致WordPress 速度问题的三个解决方案,主要内容包括Google Fonts导致WordPress 速度问题之原因、解决方法、方法二:【代码】直接在functions.php 文件添加代码、方法三:【代码】替换open sans 字体的加载源、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

本来实在是不想写这个的,因为相关方法在圈子里面已经烂大街了。但无奈,一些客户将近期的Google Fonts导致 WordPress 打开速度慢的现象归咎于我的主题——真TM 比窦娥还冤。所以,有必要在这里说下。

2015.2.26更新:Google Fonts 已可正常访问,相关插件可卸,本文已失效

Google Fonts导致WordPress 速度问题之原因

WordPress 自3.8+版本后加入了Google Fonts(别问我Google Fonts是什么了),然后捏,因为近期敏感周期(35号),天朝发威,谷歌的一系列网站被彻底墙,包括Google Fonts 所在的googleapis.com 。所以,如果是在登陆状态下打开你的WordPress 站点,会非常慢,因为压根儿加载不了这个字体文件。如果是非登陆状态且你的主题不是老外的主题,一般来说都是正常的。

解决方法

出来问题就要解决,在天朝,既然你不得不忍受之,那么就换个思路变通一下。下面的解决方法,思路一是禁止加载该Google Fonts,二是替换加载源。下面说明之:

方法一:【插件】禁止WordPress 后台加载Google Fonts

安装启用 Disable Google Fonts 或者 Remove Open Sans font Link from WP core 其中之一即可。没啥好说的。

方法二:【代码】直接在functions.php 文件添加代码

网络上有不少代码,下面可以参考下,具体有没有效果没有确认:

add_filter('gettext_with_context', 'disable_open_sans', 888, 4 ); function disable_open_sans( $translations, $text, $context, $domain ) { if ( 'Open Sans font: on or off' == $context && 'on' == $text ) { $translations = 'off'; } return $translations; }

function dw_remove_open_sans() { wp_deregister_style( 'open-sans' ); wp_register_style( 'open-sans', false ); wp_enqueue_style('open-sans',''); } add_action( 'init', 'dw_remove_open_sans' );

方法三:【代码】替换open sans 字体的加载源

打开wordpress代码中的文件wp-includes/script-loader.php文件,搜索:fonts.googleapis.com 找到这行代码:

$open_sans_font_url = "//fonts.googleapis.com/css?family1=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";

fonts.googleapis.com替换为fonts.useso.com

6月8日更新:该方法需要改动WordPress 核心代码,过于粗暴,不推荐,下面推荐个更好的代码法,我也将这个其弄成插件,你可以直接下载插件或者在当前主题中加入下面的代码:

<?php /* Plugin Name: DW Replace Open Sans Plugin URI: http://devework.com/replace-open-sans.html Description: 将WordPress 后台中的open-sans字体加载源从Google Fonts替换为360的CDN加载源。 Author: Jeff Author URI: http://devework.com/ Version: 1.0 Text Domain: dw-replace-open-sans */   function devework_replace_open_sans() { wp_deregister_style('open-sans'); wp_register_style( 'open-sans', '//fonts.useso.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600' ); wp_enqueue_style( 'open-sans'); } add_action( 'wp_enqueue_scripts', 'devework_replace_open_sans' ); add_action('admin_enqueue_scripts', 'devework_replace_open_sans'); ?>

fonts.useso.com 是国内360推出的常用前端公共库CDN服务之一,“由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的免费字体库了。同样,通过样式表引用这些资源,让网站访问速度瞬间提速吧骚年!”具体可以查看:http://libs.useso.com/。