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

本来实在是不想写这个的,因为相关方法在圈子里面已经烂大街了。但无奈,一些客户将近期的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/。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微信小程序开发

小程序授权逻辑如何更改为button形式

61990
来自专栏花叔的专栏

惊喜,热心网友为Nodes小程序写的超详细使用指南

曾斌是一个在校学生,也是一名Nodes的爱好者,他为Nodes撰写了非常详细的使用指南,并且也很用心的制作了演示视频,以下内容已得到曾斌同学的授权。 Node...

40860
来自专栏SEO

SEO新手必知50个SEO术语词解释

462120
来自专栏Fred Liang

做好 Loading 设计

在前端产品中,我们无法保证用户的网络情况,也很难去从最末端节点优化自有网络部署。 这些或多或少地都会反映到用户端的加载延迟。

14620
来自专栏小程序·云开发专栏

小程序的底层框架

原文链接:https://godbasin.github.io/2018/09/02/wxapp-technology-architecture/

33220
来自专栏汇智网教程

angular教程推荐

28320
来自专栏一“技”之长

iOS开发之BusinessChat框架使用 原

      BusinessChat是iOS11.3后引入的新框架,这个框架配合iMessage应用将商家与用户更加紧密的结合起来,并且为商家提供了另外一种非常...

22020
来自专栏腾讯移动品质中心TMQ的专栏

腾讯TMQ在线沙龙回顾|Appium:轻松玩转混合自动化测试

活动介绍 TMQ在线沙龙第三十九期分享活动圆满结束啦! 本次分享的主题:Appium-轻松玩转混合自动化测试。 共有184位测试小伙伴报名参加活动。 想知道活动...

32680
来自专栏大前端开发

5个最优秀的微信小程序UI组件库

开发微信小程序的过程中,选择一款好用的组件库,可以达到事半功倍的效果。自从微信小程序面世以来,不断有一些开源组件库出来,下面5款就是排名比较靠前,用户使用量与关...

3.2K50
来自专栏WeTest质量开放平台团队的专栏

面向亿万级用户的QQ一般做什么?——兴趣部落的 Web 同构直出分享

本文的目的在于解决两个问题:1、 部落是怎样从一个纯前端项目改造成同构直出项目的。2、在访问量这么大的情况下,如何保证直出服务的可用性的问题。

40700

扫码关注云+社区

领取腾讯云代金券