给主题做了个大手术

之前就看到过 willin 大师的《WordPress 內置嵌套評論專用 Ajax comments》《Ajax comments 評論回應郵件通知》这两篇文章,只不过苦于现在用的主题并不支持原生的评论嵌套,这么好的方法在我这里行不通,很可惜,只好用 wp thread comment 插件代替。不过 wp thread comment 确实很强大,可以强制主题开启嵌套+Ajax+评论邮件通知三大功能,对于支持 WordPress 2.7 以前的主题来说,这个插件超强悍的。

昨天在木木那里看到他已经启用了原生的嵌套+Ajax+评论邮件通知,把我眼馋地。我和木木的想法是一样的,原生的才是最强大的!下了狠心一定要用上这功能,从而可以完全抛弃 wp thread comment 和 WP Paged Comments 两个插件,这势必是我修改主题以来最最困难的一次,因为要开启 WordPress 内置的 Ajax comments 和邮件通知,就必须先让 WordPress 主题摆脱 wp thread comment 插件直接支持嵌套评论。

足足用了一整天,除了吃饭睡觉,我就在大刀阔斧地改主题了,为了实现原生的嵌套评论,基本上一半的主题文件都多多少少要修改过了,尤其是样式文件,自己折腾出来的按需合并调用把自己给害苦了,和评论的样式沾边的都需要重写 CSS,那个嵌套评论的核心文件 comments.php,我索性将其重新写了一遍,全部搞定后,外观虽然没有太大改变,但是整个主题已经大换血。

在此我要特别感谢木木童鞋,是他再一次激发了我折腾 WordPress 的信念,而且在此次修改过程中给了我至关重要的帮助。现在小站已经可以在昨天公布的插件秀上再省去 wp thread comment 和 WP Paged Comments 两个插件了,而功能上有增无减。

因为新修订的主题刚刚上线试水,肯定还有我没发现的 bug,还要请各位博友帮忙测试下,欢迎大家在下面踊跃灌水留言。

感谢以下童鞋帮助测试 bug,排名不分先后:

1.whisperer http://www.whisperer.name

bug:日志页面“跳至评论”按钮失效

原因:comments.php 重新写过了,所以选择器有所不同,“跳至评论”找不到原来的锚点

解决:修改“跳至评论”链接的锚点即可

2.午夜老哥 http://www.wuyeah.com

bug:邮件通知的发信人显示乱码

原因:comments-ajax.php 中不能识别自定义 $wp_email 函数

解决:将 $wp_email 修改为 willin 大师默认的 no-reply@ 后显示正常

3.aotig http://www.aotig.cn

bug:在 IE 下“网上邻居”页面显示载入脚本报错

原因:在页脚用 is_singular() 加载 comments-ajax.js,而友情链接页面没有评论框,加载失败报错

解决:加了个判断,只要求有评论框的日志页面和留言板页面加载 comments-ajax.js,顺便 BS 一下脑残的 IE!