在网上搜索“wordpress google字体”能找到一大片资料。不过都存在一些问题,下面我将分别进行说明。需要解决这方面问题的朋友,无需手动操作,直接安装补丁包即可。
推荐下我开发的“wordpress 第三方补丁包”,详细说明见:http://levi.yii.so/archives/4603,需要安装的朋友可直接在wordpress后台搜索插件关键字“wp-patch”,即可找到并在线安装。
回到正题,先来看我第一个找到的解决方案
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');
他存在以下几个问题:
于是有人有提供了下面这个解决方法
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');
那这个问题也同样存在几个问题:
考虑到这里,于是我在补丁包(https://wordpress.org/plugins/wp-patch-levi/)中使用了ob函数,将输出的内容压出来,替换掉google资源链接后继续输出,如下:
function replace_star() { ob_start(); } function replace_fonts() { $html = ob_get_contents(); ob_end_clean(); echo str_replace('//fonts.googleapis.com/', '//fonts.useso.com/', $html); }
通过前后台的钩子嵌入并执行压出和替换的操作
add_action('admin_enqueue_scripts', 'replace_star', 1); add_action('admin_head', 'replace_fonts', 9999); add_action('wp_head', 'replace_star', 1); add_action('wp_head', 'replace_fonts', 9999); add_filter('wp_admin_css', 'check_css', 1, 2); add_action('login_head', 'replace_fonts', 9999);
这样,无论你更换主题、安装第三方插件、wordpress后续更新,都不用担心google字体问题了。这个补丁包只是替换掉了google资源链接的域名前缀,不会对其他任何地方进行修改。简单粗暴,可以放心使用。
除此之外,我发现gravater头像在中国地区也被墙了,好在https资源还能够访问,也集成在这个补丁包中了。需要的朋友别忘了,在wordpress后台搜索插件关键字“wp-patch”,即可找到并在线安装。
您可能也喜欢: | ||||
使用CloudFlare提升网站的访问体验和安全性 |
linux使用crontab实现PHP执行定时任务 |
WEB前端底层知识--浏览器是如何工作的 |
初识 jQuery Deferred |
Node.js开发指南——第3章安装Node.js快速入门(一) |
无觅 |