去除 wordpress 里面的 google fonts

最近使用 Google Fonts 做字体的网站越来越多了,最为典型的就要数 Stack Overflow 以及 WordPress 了,在天朝,访问使用了 Google Fonts 的网站有一个通病:访问极慢(原因你懂的),于是乎结果就是,如果你不去主动点击浏览器的停止加载按钮,页面就会一直被阻塞(通俗的说就是一片空白)。

尝试寻找一些浏览器级的解决方案,比如把 Google Fonts 自动干掉或者替换为大陆服务器一类的,但是无果。看来只有自己改造了,Stack Overflow 是不指望了,但是 WordPress 是掌握在我们自己手中的,想要干掉并不难,基本上从以下几个方面着手:

1. 使用插件 Remove Open Sans font Link from WP core,这个插件的功能和使用会像他的名字长度一样复杂,吗?不,他就是简单的把 WordPress 里面的 Google Fonts 干掉了,使用也很简单,添加后启用就行了;

2. 上面一条是针对 WordPress 后台管理页面的,如果想要去除主题里面的 Google Fonts 怎么办呢?找到主题文件里的 functions.php ,在文件末尾加上如下代码即可:

3. 其实1和2实现的功能是重复的,取其中的一个方案即可,但是我当时使用时,同时启用了以上两个方案后,页面中依然会加载 Google Fonts,这么丧心病狂的事情,最后经过我周密调查,发现是页面上的 Google Adsense 挂件干的,这家伙每次加载就会搞一个 iframe,然后里面的页面会加载 Google Fonts。考虑到挂了十几年的 Google Adsense 却从没有收到过他的支票(纯支持的赶脚啊,谁叫我是谷粉呢?),他不但不怀着一颗感恩的心提高一点我的搜索引擎排名,还给我的加载速度拖后腿,于是一怒之下,我就把这个挂件干掉了。于是乎,世界恢复了宁静,整个 Blog 前前后后都不再有讨厌的 Google Fonts 了。

你也想试试吗?那就赶快拿起键盘吧。

一次 WP 主题设置页面不显示的问题解决

由于更新了主题的相关配置,所以想在主题后台去设置一下,问题来了,主题的“选项”链接不见了,以为是主题的相关代码跟最新版的wordpress不兼容,查询了N个文档,主题改来改去依然无果,插件全部禁用也是一样,使用本地wordpress启用本主题却没有任何问题,说明不是主题代码的事。
访问 wp-admin/themes.php?page=functions.php 页面时显示 “你没有权限” 访问该页面,感觉应该是文件权限的问题:

You do not have sufficient permissions to access this page themes.php functions.php

根据提示语句 Google 之,按照网上各种方法(改主题代码、改文件权限等)修改后无果,郁闷了好几天,问题依然无法得到解决。但是隐约间觉得是自己安装的一个叫做 iThemes Security 的插件造成的问题,使用的时候就发现这家伙做了不少的改动。
但是禁用这个插件并不能修复问题,后来无意中发现自己的 wp-config.php 文件多了一句

顾名思义就是不让我在网页中修改 Theme 和 Plugin 文件嘛,干掉之,问题解决。

Blog 被黑了

一大早上起来就发现 BLOG 被黑,页面打不开,后台可以进。于是乎进行了自救。话说 WordPress 的安全性真不是一般的差,随随便便就被黑了一片,说好的安全更新在哪啊?

能够顺利自救而不丢失数据,还得得益于 Homezz 完善的备份系统,分分钟找回数据库备份,有木有?恢复数据库之余还顺便搬了个家,话说 PHP 5.2.x 的安全性着实不敢恭维。

WP 主题中添加 AJAX 响应

为 WordPress Theme 添加可在匿名(未登录)情况下访问的 AJAX 响应,网上资料很凌乱,遂自行记录过程如下。

1. 首先确保主题中有 jQuery 库(似乎这已是各小型网站的标配),没有的话可以在主题 header.php 文件中添加:

2. 然后需要在页面中插入当前网站的 URL 信息,这个信息可以通过如下代码:

如此一来系统将自动在页面中返回 admin-ajax.php 的网络路径了:

于是在将来自己写的 JS 代码中,只需要调用 MyAjax.uri 就能获取到 admin-ajax.php 文件的地址了;

3. 在 function.php 中添加准备用来响应 ajax 请求的 function:

4. 然后开始添加 JS 代码,发送 AJAX 请求,这个放在主题的相应 js 文件里面就行了:

code on Gist

部署完毕,更多内容请参见官方文档

启用了Ajax Comments-Reply

自从停止使用K2主题以后,就一直很想念他那繁多的让人眼花缭乱的功能,其中以Ajax Comment为甚,一直想自己手动安装一个,可因为懒一直没有去弄。某日发现有个Ajax Comments 2.0,发现功能不咋样还要收取一美刀的费用,遂作罢,于是就看见了这个国货精品:Ajax Comments-Reply,我不清楚一开始是在哪里由谁最先开发的,反正我用的是这位仁兄的作品。安装很简单,上传后激活就可以了,感觉也还不错,最大的好处是,如果你没有什么特别的要求的话,不需要替换comments.php或者修改模板什么的。感兴趣的朋友可以去看看,不好的一点是,这哥们使用的skydrive是打开网页就自动下载的,实在是有点太殷勤,不过这都是小事了。安装后的效果大家可以看看我这篇文章的评论部分..这个插件实际上还是使用了其自制的comments.php,只是其并不需要你覆盖原来的就是了,所以你原先如果对自己的模板评论部分做过hack的话,它们将全部消失,要重新hack过了..
这里说一下Gravatars的参数添加位置,找到插件目录中comments.php文件里的这一段~


其中第二行就是我们要添加进去的,这样应该就可以实现Gravatars头像的显示了..附送我修改过的comments.php (点击下载)
有人说其与SK2不兼容,这个我倒是没怎么看出来,反正先用着呗,出了问题禁用掉插件就可以回到从前了~