Remove Google Fonts References 和 Useso take over Google是针对不同需求开发的插件。
Useso take over Google针对需要用到Google字体或者公共库的国内网站,通过国内第三方CDN服务器解决Google字体加载受阻的问题。
Remove Google Fonts References是针对国内中文网站,去除所有对于谷歌字体的引用,提升网站的加载速度。在去除方面,Remove Google Fonts References做的很彻底,从enqueue方式到硬代码方式,从Redux框架到Web Font Loader类库,从@import方式到css文件内部引用,都能一一处理,保证去除的彻底性。因为有一个残留是就是失败。但是为了保证这个,css文件的初次扫描还是带来了不少性能消耗,出错的概率增大,也增加了插件的复杂性。
css文件的初次扫描因为本身做法比较粗暴,而针对的情况是非常少的几个插件和主题(比如pricing-table插件和voyager主题的framework),所以该特性没有加入到Useso take over Google插件中,但是万一不幸碰上了怎么办,建议用户把文件内部的引用提到外面来,这样插件就可以照顾到这些引用了。
如果是一点代码都不会的用户,该怎么办?为了帮助这部分了,就有了Remove Google Fonts References + Useso take over Google配合使用的方案。
安装了两个插件之后会怎么样?
Useso take over Google会先进行处理,把所有的Google字体引用改成Useso的地址。对于CSS文件内部的Google字体引用没办法。
等到了Remove Google Fonts References插件处理时,它会扫描每一个CSS文件内容,把残留的Google字体的引用去除掉。而对于已经使用Useso的字体是不会处理的。这样就保证了实在换不掉的字体也能移除掉,确保网站打开速度不受影响。
能实现Remove Google Fonts References先处理吗?
需要Remove Google Fonts References先处理的情况也会存在,主题内有Google字体引用,也有Google公共库的引用(如jQuery、jQuery UI),希望去掉所有的Google字体,而保证Google公共库全部替换成Useso,这时就会产生这样的需求。
从Remove Google Fonts References 2.4开始,已经提供了满足这种需求的可能,只是稍微有点复杂,需要用到Bruno Magic Tools里面的代码。
下载Bruno Magic Tools,只保留remove_google_fonts_priority filter的处理代码,其他功能代码可以删除(头部注释和全局变量不能删),然后作为插件打包上传到网站。
remove_google_fonts_priority filter的处理代码如下:
/** Remove Google Fonts References(plugin): remove_google_fonts_priority filter */if (false) {
add_filter('remove_google_fonts_priority', 'bruno_magic_tools_rgfpriority');
function bruno_magic_tools_rgfpriority($priority) {
//return 9 will make 'Remove Google Fonts References' running before 'Useso take over Google'
return 9;
}
}/** Remove Google Fonts References(plugin): remove_google_fonts_priority filter END */
代码中“if (false)”中的false改成true,就能够实现Remove Google Fonts References先于Useso take over Google处理了。