zoukankan      html  css  js  c++  java
  • WordPress 的 Google 字体问题解决办法

    在国内访问的时候,WordPress 里面引用的 google 字体可能会导致加载速度变得很慢。

    要修改的地方有(我使用的版本是 4.0):

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

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

    你使用的主题里面的引用,以我用的 twentytwelve 主题为例:

    在:wp-content/themes/twentytwelve/functions.php 里面有一行:

    $font_url = add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" );

    把这些里面的 fonts.googleapis.com 替换成 fonts.useso.com。

    但是我直接浏览器访问 fonts.useso.com 后发现这个服务是 360 做的。

    。。。

    如果不想依赖 360 的服务怎么办?

    Update:

    现在只要使用 这个工具 可以直接打包下载字体,生成对应的 css 源码,放到服务器上即可。

    我的解决方法是手动下载 .css 和所有其中引用的 woff2 字体文件,然后存在自己的服务器上(但此法的问题是如果你升级了,或者安装了新主题,就可能会导致字体找不到)。 

    具体步骤:

    1.首先从代码得到所有对 google 字体请求的参数,或者使用浏览器的开发者工具监听对 fonts.googleapis.com 的请求。并组合起来自己用浏览器请求一次,得到一个 css。

    比如看到有这两个:

    ?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=latin,latin-ext
    ?family=Open+Sans:400italic,700italic,600italic,400,700&subset=latin,latin-ext

    那么就自己用浏览器访问

    https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,300,400,600,700&subset=latin,latin-ext

    得到一个 css 文件,包含了两处引用都需要的资源。

     

    2.使用文本编辑器在里面搜索出所有字体的静态链接。

    我使用的是 Sublime Text,在里面进行正则表达式搜索,我的搜索条件是:

    https://fonts.gstatic.*?.woff2

    把它们复制出来

    https://fonts.gstatic.com/s/opensans/v10/K88pR3goAWT7BTt32Z01m5Bw1xU1rKptJj_0jans920.woff2
    https://fonts.gstatic.com/s/opensans/v10/RjgO7rYTmqiVp7vzi-Q5UZBw1xU1rKptJj_0jans920.woff2
    https://fonts.gstatic.com/s/opensans/v10/ttwNtsRpgsxVmgGGmiUOEpBw1xU1rKptJj_0jans920.woff2
    
    .......

    粘贴到下载工具里面(如迅雷),批量下载。

     

    3.字体文件和 css 全部上传到你自己的服务器。

    4.把 css 文件里面的链接查找替换成在你服务器上的地址。

    5.最后把 wordpress 里面的引用 fonts.googleapis.com 的链接替换成你自己的地址。

    完成。

     

  • 相关阅读:
    实现分享功能(分享到qq空间,新浪微博)
    AXIOS构建请求处理全局loading状态&&AXIOS避免重复请求loading多次出现
    Vue.use() 方法
    判断浏览器版本
    判断当前环境是ios还是安卓
    如何理解react中的super() super(props)
    JavaScript 函数调用时带括号和不带括号的区别
    npm 安装时 --save --dev 和 --save 区别
    npm 全局安装和局部安装的区别
    module.exports 与 exports
  • 原文地址:https://www.cnblogs.com/fatlyz/p/3999825.html
Copyright © 2011-2022 走看看