最近谷歌在国内似乎遭到全面封杀, 不仅搜索服务完全无法使用, 也殃及到其他服务, 其中一个受牵连的事情就是, 最近在使用 WordPress 时, 页面加载异常缓慢, 一个简单的页面需要等待很久, 使用 firebug 查看发现, 是浏览器一直在等待页面中嵌入的谷歌网络字体 (google fonts) 链接 fonts.googleapis.com, 直到超时. 这说明 fonts.googleapis.com 这个网站也被封锁了.
我曾经在《网络字体 (web Font) 的中文用法(一)》一文中说过, 中文是很难使用网络字体的, 更别说谷歌提供的英文网络字体了 -- 基本上毫无用处. 所以很奇怪为什么中文版的 WordPress 里还引用了谷歌字体.
既然谷歌被封杀是无法避免的, 那对于我们个人来说就只能让 WordPress 禁止使用 fonts.googleapis.com 这个地址. 让你如何去掉页面中嵌入的 fonts.googleapis.com 引用链接呢?
WordPress 系统里有两个地方使用了谷歌字体, 一个是主题里, 一个是管理员界面. 主题里的谷歌字体很好去掉, 直接删除就行了, 但管理员 admin 界面里的谷歌字体就不是这么容易了, 因为我们不能修改 WordPress 系统文件(修改后的系统文件会在下一次升级时可能被覆盖掉.)
在 wp-includes/script-loader.PHP 的 564 行(我使用的版本是 3.9), 你能看到下面一段代码:
- if ( 'off' !== _x( 'on', 'Open Sans font: on or off' ) ) {
- $subsets = 'latin,latin-ext';
- /* translators: To add an additional Open Sans character subset specific to your language,
- * translate this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate into your own language.
- */
- $subset = _x( 'no-subset', 'Open Sans font: add new subset (greek, cyrillic, vietnamese)' );
- if ( 'cyrillic' == $subset ) {
- $subsets .= ',cyrillic,cyrillic-ext';
- } elseif ( 'greek' == $subset ) {
- $subsets .= ',greek,greek-ext';
- } elseif ( 'vietnamese' == $subset ) {
- $subsets .= ',vietnamese';
- }
- // Hotlink Open Sans, for now
- $open_sans_font_url = "//fonts.googleapis.com/CSS?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";
- }
很明显, 只要将 if ( 'off' !== _x( 'on', 'Open Sans font: on or off' ) ) {这个判断语句不通过就行了, 也就是说, 只要将位于 wp-content\languages 目录下里的语言文件 zh_CN.mo 修改一下就行了.
首先打开 zh_CN.po, 找到里面的 msgctxt "Open Sans font: on or off" 这一行, 将其下面的 msgstr "on" 改成 msgstr "off", 保存, 最后将这个修改后的 zh_CN.po 编译成 zh_CN.mo-- 你可以使用在线编译工具 http://tools.konstruktors.com/ , 或者使用 WordPress 官方推荐的工具: PoEdit http://www.poedit.net/ .
将编译后的 zh_CN.mo 替换原 zh_CN.mo.
修改前:
- #. translators: If there are characters in your language that are not supported
- #. * by Open Sans, translate this to 'off'. Do not translate into your own
- #. language.
- #: wp-includes/script-loader.PHP:564
- msgctxt "Open Sans font: on or off"
- msgid "on"
- msgstr "on"
修改后:
- #. translators: If there are characters in your language that are not supported
- #. * by Open Sans, translate this to 'off'. Do not translate into your own
- #. language.
- #: wp-includes/script-loader.PHP:564
- msgctxt "Open Sans font: on or off"
- msgid "on"
- msgstr "off"
如果你觉得这个去掉谷歌字体的方法还是复杂, 那么, 你可以试一下 https://github.com/dimadin/disable-google-fonts 这个 WordPress 插件.
来源: http://www.webhek.com/post/remove-wordpress-google-fonts.html