针对最近因为Google fonts被墙导致WordPress 打开慢的问题,Jeff 在上一篇《Google Fonts导致WordPress 速度问题的三个解决方案》提出的方案中其中是禁止加载Google fonts ,但是禁止后WordPress 后台的英文字体会变成你当前系统默认的——不好看。为此Jeff 借助网络上的代码开发了这款插件,可一键将WordPress 后台中的open-sans字体加载源从Google Fonts替换为360的CDN 加载源。
插件简介
之前网络上提供的将WordPress 后台中的open-sans字体加载源从 fonts.googleapis.com替换为fonts.useso.com 的方法都是要修改WordPress 核心文件的——这么来说一般都那么好,结合网络上的代码,Jeff 折腾出了这款插件,安装激活就可以一键替换,“不伤头皮不伤发”。
DW Replace Open Sans插件下载地址:点击下载
欢迎分享!这个可比粗暴地禁用open-sans字体好多了!
插件源代码
下面附送源代码,其实很简单:
<?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');
?>
你其实也可以直接将上面的代码添加到主题的functions.php 文件中;其实加载源你可以随便定义,甚至是字体也可以自定义,只要修改第14 行就可以了。
改进方法(推荐)
不少朋友反映上面的方法对登录界面不生效,所以倡萌测试修改了一下,将下面的代码添加到主题的 functions.php 即可在后台和登录界面更改字体加载来源:
/**
* Plugin Name: WPDX Replace Open Sans
* Plugin URI: https://www.wpdaxue.com/dw-replace-open-sans.html
* Description: Change the load address of Open Sans.
* Author: Changmeng Hu
* Author URI: https://www.wpdaxue.com/
* Version: 1.0
* License: GPL
*/
function wpdx_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' );
if(is_admin()) wp_enqueue_style( 'open-sans');
}
add_action( 'init', 'wpdx_replace_open_sans' );
如果你压根就不希望加载 Open Sans 字体,请移步 WordPress 后台禁用Google Open Sans字体,加速网站
完成替换后把文件上传到站点,加载时仍然提示连接fonts.googleapis.com,怎样才能使得文件生效呢?重启web服务器?
刚接触wordpress的小白,望博主指点。 ❓
插件可以用 你的方法不行 不知道为什么
貌似失效
果真很管用~ 正打算把google字体下载到自己服务器上呢,原来早都已经有解决方案啦~ 感谢分享!
➡ 其实关于这个谷歌字体目前最简单最有效的办法还是改主题里面的模板函数(functions.php)在代码里你找到fonts.googleapis.com——-把中间的googlepis改成useso 这个是360完全下载了谷歌字体后放在了国内服务器上给用户加载的,有些插件使用的时候对一些主题没有作用。
我顶~ 😀
采用了 😀
通过script_loader_src 和 style_loader_src hooker 将链接替换掉兼容性更广吧,如果用户下载的是国外的主题那么这种替换是无法替换主题fonts.googleapis.com/…和ajax.googleapis.com/…的
介个样子:
/**
* 关闭google fonts / ajax apis,或启用360(useso)源
*/
function new_filter_style_init( $src ) {
$src = preg_replace( '/([a-z]+?)\\.googleapis\\.com/', '$1.useso.com', $src );
return $src;
}
add_filter( 'script_loader_src', 'new_filter_style_init' );
add_filter( 'style_loader_src', 'new_filter_style_init' );
凡是注册到style_enqueue和script_enqueue的都会被script_loader_src和style_loader_src过滤,包括主题、插件等程序
靠,咋这么专业呢 ➡