
我都快不记得我最早用的wordpress是什么版本号了,总之一路升级过来经历了很多个版本,模板也因为各版本的升级改动了很多。特别是当wordpress 2.7出来的时候,我们再也不需要使用第三方插件来实现评论的嵌套了,因为它已经内置了。由于我的懒散以及一直假装很忙作为借口,并且舍不得之前的评论模式,所以一直没有让我的主题支持原生的嵌套评论。
昨天心血来潮,关了IM,关了google reader,关了可能会干扰我的各类网页,开始琢磨wordpress 2.7的原生嵌套。一开始是直接套用的default主题里的comment.php文件,由于2.7版本之后引入了wp_list_comments()函数来显示评论列表,而想特别修改评论列表格式的话就需要使用callback。主要参考了 saywp 主题的callback代码,然后参考了 willin实现的ajax。虽然累死我了,好歹是修改成功了。willin 的ajax 评论代码改了好久,因为他的代码写得可真多,我去掉了很多对自己没用的并且在ajax插入嵌套评论到评论列表的时候换了一种更好的实现方法。
如果你的主题还是2.7之前的无嵌套评论,并且你喜欢嵌套评论,我建议你还是趁早升级吧哈。wordpress版本号越来越大,改动也越来越大,如果以后再升级可就要越来越不容易了。正所谓与时俱进嘛。更何况我是个“新版软件控”!
至于让主题支持原生嵌套评论我这里就不介绍了,网上真的有一搜一大把的文章介绍了这个内容。
为了让评论向前兼容,所以我的嵌套评论保留了原来的@username的回复方式,哪怕哪一天我突然不想嵌套了,我也可以很快恢复原先的样式并且保留之前的完美形式(鼠标移动到@username会popup出user的原评论)!正因为继续保留了之前的@username的回复方式,所以我认为我的评论只需要采用二级嵌套就足够了,三级或者更多级的话不管是样式不好设计和控制,而且太多回复的时候很容易造成混乱的局面。二级嵌套的意义在于每一条评论表达的是评论者的核心价值观,对此的嵌套回复一般是对该条评论的回复,如果多一级成为三级嵌套,很容易就变成聊天了,确实很三级。

欢迎测试!
PS:真的是累坏了。接下来,还有一大堆别的要累坏我的事情要做。360度冰天雪地托马斯回旋45度角仰望天空直至内牛满面鸡皮疙瘩掉一地。
作者:Leeiio
原文链接:WordPress 原生嵌套 ajax 评论的实现


