五一放假的时候看到 Yinheli 同学放出了 Philna2 主题,比较兴奋,于是连夜下载回来然后装上。读说明的过程中又看到作者需要英文翻译,本着一种谢意,用不甚地道的英语把 readme.html 翻译好发给作者了。
其实这个主题已经相当地完善了。Yinheli 在发布之前已经自己使用了好久,为的就是能够尽量减少 Bug 。为此我还一度以为这个主题是私有主题不会公开呢。我是一个注重细节的人,这也是我喜欢这个主题并为之折腾的原因。
首先搞得我头痛不已的是日期显示。本来我不太喜欢使用中文翻译过的主题。因为大多数主题作者在制作主题的时候都是以英语为默认语言的,最后用 gettext 生成 po 和 mo 格式的语言文件作为翻译之用。上传之后我就把 zh_CN.mo 和 zh_CN.po 改名了。以为这下可以以英文格式显示。没想到日期的显示居然有问题。侧边栏那儿 Archives 中的日期应该是“Apr,2009”,如今却显示成了“四月,2009”这种不中不洋的格式。文章标题下面的日期显示成了“四月 2nd, 2009”,更让人无法忍受。我打开主题源代码,找到 mysql2date() 这个函数,试图更改日期字符串的格式,但是无济于事。又一路追查 mysql2date() 的实现,发现这厮在内部调用了 $wp_locale 将一些日期的字符串本地化了。而我的 Wordpress 后台使用了中文语言包,“Jan”和“January”都翻译成了“一月”,这也无怪乎我怎么改日期字符串它都无法显示英文月份。一怒之下将所有的月份翻译都删除,这下终于正常了。
接下来是右上角那个“随机一句话”的功能(作者称“Philna say”)。我在后台设置了十几条句子,跑回来测试。奇怪的是IE下第一次点击可以正常刷新,后面的就没辙了。不管我点击多少次都依然显示一句话。在 Firefox 中测试发现没有问题。更神的是 Yinheli 的主页上居然可以用 IE 来点击并刷新。奇怪也哉!本来自己打算从 jQuery 冲突、PHP 代码等多个角度修复,但由于 Javascript 和 PHP 上的积累实在可怜,告以失败。最后还是把问题提交给作者才得以修复。(据作者说其实很简单,就是把 AJAX 的 Get 请求换成了 Post 请求
)
接下来又折腾了几个地方。哎,辛酸过程略去不表。只说一说结果。
页面宽度改成 960px:这个效果不错。但我适应了之前的宽度,于是马上又改回来了。
Advanced Excerpt 输出带格式摘要:这个插件的高级摘要功能我一直比较喜欢,而且在本博客与 Live Space 和QZone 的自动同步中有用到(后二者同步时只显示摘要)。只是 Yinheli 同学已经实现了一个自己的摘要函数,虽然没有格式支持,不过还可以接受,于是主页上我就没有启用 the_excerpt() 来输出摘要。
Mail to commenter邮件通知评论:我是在 Tao’s opinion 上接触到这个功能的。每次我在他那儿的评论如果有回复了就会收到邮件通知。感觉这个功能很好,可以增加访客和作者的互动性。我不喜欢嵌套评论,所以没有用 Thread Comment 插件。最初用的是 CommentMailer,缺点是必须以作者身份登录之后才可以在回复的时候发邮件通知。后来在网上看到 Mail to commenter,发现它支持 “@user” 的方式回复通知,设置也非常灵活。这与 Yinheli 在主题中实现的鼠标悬浮显示评论内容简直是绝配。下载回来稍加设置,便可以很好地工作了。(PS: 这个地方 commenter 一词是否有误?我看字典中评论员的单词是 commentator )

Submitting Comment, Give me a second...
我遇到的问题搜遍了都没发现类似的……
评论ajax输出一半的时候卡了一下,评论框部分自动刷新又成了一个页面,导致无法留言。都快要崩溃了,不知道什么原因,不想就这样放弃这个主题呢。