[Wordpress]解决fonts.gstatic.com无法访问

叶问 1月前 84

[Wordpress]解决fonts.gstatic.com无法访问


解决方法:

一、将文件下载到本地

1.下载对应的css。这一步可以通过chrome、firefox等提供的审查元素功能。切换到网络(network)页面,找到无法访问的那个链接。比如我这里的是http://fonts.gstatic.com/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&subset=latin%2Clatin-ext&ver=3.9,通过发送请求或者多次尝试浏览器打开之后,把里面的css内容复制到本地。

2.在下载的css文件中,批量查找出所有引用的字体文件的链接,比如:

 @
font-face {  font-family: 'Open Sans';  font-style: normal;  font-weight: 300;  src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fontstatic.useso.com/s/opensans/v10/DXI1ORHCpsQm3Vp6mXoaTRa1RVmPjeKy21_GQJaLlJI.woff) format('woff');}@font-face {  font-family: 'Open Sans';  font-style: normal;  font-weight: 400;  src: local('Open Sans'), local('OpenSans'), url(http://fontstatic.useso.com/s/opensans/v10/u-WUoqrET9fUeobQW7jkRT8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');}@font-face {  font-family: 'Open Sans';  font-style: normal;  font-weight: 600;  src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://fontstatic.useso.com/s/opensans/v10/MTP_ySUJH_bn48VBG8sNSha1RVmPjeKy21_GQJaLlJI.woff) format('woff');}@font-face {  font-family: 'Open Sans';  font-style: italic;  font-weight: 300;  src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://fontstatic.useso.com/s/opensans/v10/PRmiXeptR36kaC0GEAetxrsuoFAk0leveMLeqYtnfAY.woff) format('woff');}@font-face {  font-family: 'Open Sans';  font-style: italic;  font-weight: 400;  src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://fontstatic.useso.com/s/opensans/v10/xjAJXh38I15wypJXxuGMBtIh4imgI8P11RFo6YPCPC0.woff) format('woff');}@font-face {  font-family: 'Open Sans';  font-style: italic;  font-weight: 600;  src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://fontstatic.useso.com/s/opensans/v10/PRmiXeptR36kaC0GEAetxmWeb5PoA5ztb49yLyUzH1A.woff) format('woff');}

可以直接通过正则匹配:https://fonts.gstatic.*?.woff 找到所有的链接,然后批量下载(可以用迅雷或者其他下载工具),存储到本地服务器中。

3.把上面css里的woff字体文件的路径,修改成刚才保存的路径。

4.找到wp-includes 里面的 script-loader.php 有一行:

$open_sans_font_url = "//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";

把里面的链接修改为本地存储的css的链接,即可正常访问了。

这种方法的好处是不再依赖外部链接,但缺点是如果更新主题、或者更新wordpress可能会导致访问失效。


最新回复 (0)
返回