WordPress 禁用谷歌字体的方法
最近谷歌在国内似乎遭到全面封杀,不仅搜索服务完全无法使用,也殃及到其他服务,其中一个受牵连的事情就是,最近在使用Wordpress时,页面加载异常缓慢,一个简单的页面需要等待很久,使用firebug查看发现,是浏览器一直在等待页面中嵌入的谷歌网络字体(google fonts)链接fonts.googleapis.com,直到超时。这说明fonts.googleapis.com这个网站也被封锁了。
我曾经在 网络字体的中文用法 一文中说过,中文是很难使用网络字体的,更别说谷歌提供的英文网络字体了,基本上毫无用处。所以很奇怪为什么中文版的Wordpress里还引用了谷歌字体。
既然谷歌被封杀是无法避免的,那对于我们个人来说就只能让Wordpress禁止使用fonts.googleapis.com这个地址。
让你如何去掉页面中嵌入的fonts.googleapis.com引用链接呢?
WordPress系统里有两个地方使用了谷歌字体,一个是主题里,一个是管理员界面。主题里的谷歌字体很好去掉,直接删除就行了。
[root@174 wordpress]# grep "fonts.googleapis.com" . -r ./wp-includes/script-loader.php: $open_sans_font_url = "//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets"; ./wp-includes/js/tinymce/plugins/compat3x/css/dialog.css:@import url(//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=latin-ext,latin); ./wp-content/plugins/tinymce-advanced/mce/importcss/plugin.js:
但管理员admin界面里的谷歌字体就不是这么容易了,因为我们不能修改wordpress系统文件(修改后的系统文件会在下一次升级时可能被覆盖掉)
在wp-includes/script-loader.php的602行(WordPress版本是3.9.1),你能看到下面一段代码:
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.mo修改一下就行了。
zh_CN.mo 文件是由 zh_CN.po 文件编译生成的,
因此首先打开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。
最后,将编译后的zh_CN.mo替换原zh_CN.mo
zh_CN.po 修改前:
#. 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"
zh_CN.po修改后:
#. 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"
如果你觉得这个去掉谷歌字体的方法还是复杂,那么,你可以试一下 disable-google-fonts 这个Wordpress插件。
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2014-06-19 21:18:42
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!