WordPress 原生嵌套 ajax 评论的实现

泪流满面
我都快不记得我最早用的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的回复方式,所以我认为我的评论只需要采用二级嵌套就足够了,三级或者更多级的话不管是样式不好设计和控制,而且太多回复的时候很容易造成混乱的局面。二级嵌套的意义在于每一条评论表达的是评论者的核心价值观,对此的嵌套回复一般是对该条评论的回复,如果多一级成为三级嵌套,很容易就变成聊天了,确实很三级。

Wordpress 原生嵌套评论ajax的实现

欢迎测试!

PS:真的是累坏了。接下来,还有一大堆别的要累坏我的事情要做。360度冰天雪地托马斯回旋45度角仰望天空直至内牛满面鸡皮疙瘩掉一地。

69 Responses to WordPress 原生嵌套 ajax 评论的实现

  1. Sean says:

    沙发支持一下,好强大,不过我的主题对套嵌支持不够,有排版错误,所以我就不用了呵呵 😕

  2. lanhl says:

    哈哈,我也是新版本控,有新版出来不升级心里就觉得不爽。

  3. 万戈 says:

    哈,我也用的是willin大师的方法~

  4. QiQiBoY says:

    @Leeiio
    Jinwen提供的方法总是克隆第一级评论的回复按钮到子回复,导致你点击任何子回复按钮都会让回复框跳到第一级评论下面,就好像还是给第一级回复一样。。。。这点很别扭。。。还不如将所有除第一级回复以外的回复样式都按平级化设置。。。后台设置无限嵌套。。。。
    另外刚出的火狐3.6RC下由于评论者名字后的信息太长而导致回复按钮换行,和下面的@user重合。。。。

  5. slwl says:

    :mrgreen: 过来帮忙测试。

  6. Panther says:

    竟然都是Windows7

    • Leeiio says:

      @Panther 还在坚持windows系统的自然是7版本优先啦,以前vista出来的时候我还舍不得xp,7出来了还忧郁了一下,装上用了后就把xp抛一边了… 💡

  7. 左岸读书 says:

    也许哪一天wordpress自己就可以了~

  8. 羽中 says:

    typecho自带支持嵌套,抽空我要使劲研发个ajax评论~ 话说你这没用评论分页吗?分页可能会把嵌套拆开郁闷

  9. bolo says:

    被文章那幅图欺骗了,还以为是真的评论框

  10. 吖Bee says:

    放假就来折腾,哈哈!

  11. alswl says:

    配图大亮
    目前还在使用非嵌套的,下一个主题想换成嵌套的,用户体验会好很多

  12. lee says:

    不能共享这个修改吗?

  13. chisdy says:

    挺不错的,过了年再研究下,哈哈!

  14. Gos32 says:

    搞代码还是真累啊

  15. says:

    😮 你这主题很美妙啊

  16. aisinvon says:

    寻找如何让wordpress ajax评论,就找到你这来拉

  17. says:

    我根据教程,但是自己测试的时候点击提交后,前面已经有的评论变成文本格式了,没有了css样式,不知道是不是css要修改还是路径问题

  18. adu says:

    真的很不错哦,不知可否分享一下你的代码

  19. snowxh says:

    原先不带@user的话要怎么改成带的这种嵌套呢= =弱问

  20. loke says:

    可惜啊,我什么都没用。

  21. 顺水横流 says:

    侧边栏关闭了,为啥广告不关闭捏????

  22. キミキスキミキス says:

    キミキスキミキスキミキスキミキス

  23. mike says:

    能不能在回复里上传视频或文件并显示出来呢?

  24. 夏星辰 says:

    分享下呗。像用用

  25. 泊风 says:

    请教如何修改”提交成功, 刷新页面之前可以再编辑“这句提示的显示位置及字体大小。

  26. 蜗牛 says:

    我看看嵌套是什么样的。。。

  27. 大鸟哥 says:

    😡 😡 😡
    主题在chrome下好像走样了//

  28. beifly says:

    风反复反复反复发反反复复

Leave a Reply

Your email address will not be published. Required fields are marked *