一个艰难的决定

从今天开始,将本Blog的单文章固定地址修改为 siteurl/i/postid 的形式,使文章链接更清爽。

由于历史原因,本Blog的单文章固定链接非常冗长,以至于经常出现地址栏都无法完全显示整个URL的情况,这是一个强迫症所无法接受的,并且在各大搜索引擎修改收录规则以后,那样的链接在SEO层面早就不具备任何实质性的意义,所以痛定思痛,来了个一刀切。

改革的阵痛总是存在的,比如,旧文章里面的站内链接,绝大部分都将要失效了,如果需要寻找文章,请试试搜索功能。如有意见或建议请给我留言,不甚感谢~

去除 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

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

ShadowBlue 0.9 Beta

ShadowBlue 是我 2010 年 1 月份制作的一个 WordPress 主题,经过了这些年的修修补补,最近终于决定捯饬一下准备上传到 WordPress Index 了。主题截图

主题建了这么久,也积攒下来一大堆 Bug,刚开始做主题的时候编码水准比较幼稚,所以连修复 Bug 加重构一并做了,还对 IE 上的效果进行了一定的简化(计划逐渐实现在 IE6 上的裸奔);逐步完善了后台中的主题设置功能,基本已可实现普通的功能选择不需要修改源码的效果。

上传主题到官网上挺麻烦的,要按照规矩 Debug 代码,很多方法和语句什么的都要重构,源码里还不能用中文,需要全部改英文再拿 PO 文件做 Localization 本地化,一大堆麻烦事。

功夫不怕有心人,一项项地改,总能把问题解决,于是乎,ShadowBlue 0.9 Beta 隆重出炉,源码已上传至官网,坐等审核中。

感兴趣的朋友可以移步 开发页面 一看究竟,心急的朋友可以直接访问 项目页面

PS:ShadowBlue on wordpress.org is almost there ~
坑爹的 wordpress.org ,提出了很多我无法接受的要求,比如只能使用 wordpress 自带的 jquery 库等,还有很多规范化的要求会增加过多的工作量,所以提交到官网的计划正式宣告无限期搁置了。现阶段还是老老实实 host 在 github 上好了。

在 WordPress 中为搜索用户提供向导

本站很多流量都来源于搜索关键词“糖醋排骨”,我想大部分人搜索这个词应该是想要学做菜的,于是便建立了一个专页,可是在搜索引擎中,此关键词与本站相关的结果链接指向首页,所以我有必要将这些流量导入到正确的流量中,旋即我就为搜索用户提供了一个向导功能。

功能还算简单,当用户通过搜索引擎来到本站后,获取其搜索关键词:如果关键词是“糖醋排骨”,则跳转到专页,如果是别的,则在页面顶部提供一个更多内容的搜索链接。

有一个 WP 插件名叫 Landing Sites 也是干这个的,不过好像很久没有更新了,而且是老外写的不太符合天朝的搜索引擎市场状况,再加上这功能并不复杂,所以也就不装插件自己写好了,以下是具体实现的方法:
继续阅读“在 WordPress 中为搜索用户提供向导”

Wdorpress 模板:ShadowBlue 0.5 Beta

Shadowblue这模板发布也有一段时间了,正式发文也就是0.1 alpha 的时候,其后陆陆续续修改了一些小BUG,更新到了 0.3 。过年期间到现在一直很忙,所以一直没有什么大的更新,这两天抽空添了点儿内容,升级到 0.5 Beta ,也算是一个迟到的新年礼物吧。

Shadowblue 0.5 beta 在外观上和前面的版本没有什么太大的不同,就是增加了一个后台,可以用来控制顶部广告位、社会化链接显示的内容,切换内容部导航栏分类与标签的选项,也增加了一个底栏的开关(因为我发现有很多朋友不大喜欢底栏)。本人实属懒人,十分能理解懒人们的疾苦,有了后台朋友们就不用去改代码了。

目前后台可控的项目不多,本人会逐步改进并即时更新到 SVN 中并在Demo中体现出来,有稳定版本也会直接升级到下载地址,如果您喜欢这个主题,请关注开发页面,欢迎提供各种意见和建议,我会在后续版本中改进,谢谢!

下载请移步开发页面

Shadow Blue 0.1 Alpha

这是一个Wordpress模板,点此预览

1. 主题内已嵌入了最新的jQuery 1.4,如果你使用的插件也使用jQuery,请禁用其所内置的jQuery库载入 ,并已修正多库共存的兼容性问题;

2. 在文章自定义域,添加名称为 avatar 的域,值为需要显示的图片地址,可以自定义文章 avatar ,否则默认显示作者的 avatar ;

3. 暂不支持Ajax提交评论,不过可以很好的通过插件 WordPress Thread Comment 来很好的实现该功能;

4. Widget Ready, 后台主题小工具中可以设置4个widget bar,1~4 的widget bar 分别控制 右侧,下左,下中 和 下右 的Widget bar;
模板文件夹内的AD文件夹内的 ad_468_60.php 文件可以自行编辑, 添加规格为 468×60 像素 大小的广告代码:

5. 主题不断更新中,推荐使用SVN升级主题
…..

感兴趣的请移步本模板开发页面,谢谢。