首页 > 代码库 > WordPress 的 Google 字体问题解决办法
WordPress 的 Google 字体问题解决办法
在国内访问的时候,WordPress 里面引用的 google 字体可能会导致加载速度变得很慢。
要修改的地方有(我使用的版本是 4.0):
wp-includes 里面的 script-loader.php 有一行:
$open_sans_font_url = "//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";
你使用的主题里面的引用,以我用的 twentytwelve 主题为例:
在:wp-content/themes/twentytwelve/functions.php 里面有一行:
$font_url = add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" );
把这些里面的 fonts.googleapis.com 替换成 fonts.useso.com。
但是我直接浏览器访问 fonts.useso.com 后发现这个服务是 360 做的。
。。。
如果不想依赖 360 的服务怎么办?
我的解决方法是手动下载 .css 和所有其中引用的 woff2 字体文件,然后存在自己的服务器上(但此法的问题是如果你升级了,或者安装了新主题,就可能会导致字体找不到)。
具体步骤:
1.首先从代码得到所有对 google 字体请求的参数,或者使用浏览器的开发者工具监听对 fonts.googleapis.com 的请求。并组合起来自己用浏览器请求一次,得到一个 css。
比如看到有这两个:
?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=latin,latin-ext?family=Open+Sans:400italic,700italic,600italic,400,700&subset=latin,latin-ext
那么就自己用浏览器访问
https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,300,400,600,700&subset=latin,latin-ext
得到一个 css 文件,包含了两处引用都需要的资源。
2.使用文本编辑器在里面搜索出所有字体的静态链接。
我使用的是 Sublime Text,在里面进行正则表达式搜索,我的搜索条件是:
https://fonts.gstatic.*?.woff2
把它们复制出来
https://fonts.gstatic.com/s/opensans/v10/K88pR3goAWT7BTt32Z01m5Bw1xU1rKptJj_0jans920.woff2https://fonts.gstatic.com/s/opensans/v10/RjgO7rYTmqiVp7vzi-Q5UZBw1xU1rKptJj_0jans920.woff2https://fonts.gstatic.com/s/opensans/v10/ttwNtsRpgsxVmgGGmiUOEpBw1xU1rKptJj_0jans920.woff2.......
粘贴到下载工具里面(如迅雷),批量下载。
3.字体文件和 css 全部上传到你自己的服务器。
4.把 css 文件里面的链接查找替换成在你服务器上的地址。
5.最后把 wordpress 里面的引用 fonts.googleapis.com 的链接替换成你自己的地址。
完成。
WordPress 的 Google 字体问题解决办法