October 17, 2008

Wordpress 2.7 评论回复功能试用

      Wordpress 在如火如荼的开发 2.7 版本, 根据以前的 New Features in wordpress 2.7Wordpress 2.7 会添加很多的功能(也就是说可能会消灭很大一部分插件的存在), 其中之一就有评论的回复功能(comment reply), 这跟 Wordpress Thread Comment 插件是一个冲突(或者说是重叠), 很多朋友也都很关心这个问题, 鉴于此, 我前几天下载了 Wordpress 2.7 的 SVN, 优先试用了一下 wordpress 2.7 的 comment reply 功能。

      首先, 得肯定的是。 Wordpress 2.7 的回复功能结构安排上非常合理, 应该来说跟 Ajax Comments-Reply 的结构一样, 比 Wordpress Thread Comment 的结构要好很多(其实 Wordpress Thread Comment 也可以做到很好的结构, 只不过需要 Wordpress 提供一个action 或者 filter 就可以了。)

      其次, 从目前的情况来说, Wordpress 2.7 自带的回复功能相当的难用, 根本不是修改主题中的样式, 而是采用了 php 的类(class)的定义, 我还没有试过可不可以在主题中直接修改这个类的定义的, 我猜测应该是可以的, 否则 Wordpress 也实在是太弱智了, 反正 Wordpress 自己通过函数来实现嵌套评论。 不过我猜测这一举措增加了 Wordpress 主题制作者的难度, 估计刚一推出的时候应该不会有太多的主题来配合。

      唯一的, Wordpress 自带的回复功能, 所有的回复评论和主评论的格式都是一样的, 这个对主题制作来说只要写一个评论样式就足够了, 但也可能区分起来不是那么的容易了。 所以我想增加一个深度的id应该还是必要的。

      wordpress 自带的回复功能, 没有 ajax 功能, 是否支持评论的 ajax 插件也不得而知。

      Wordpress 自带的评论回复功能还是很弱, 比如后台选择评论的深度, 就不是说reply到这个深度, 而是嵌套的模式就直到目前的深度。 比如有一个评论回复了8层, 后来我在后台设置成了4层, 这个时候以前显示8层的评论就显示了4层, 其余的4层作为了主评论被显示了。 我觉得这个好像不是很好吧? 应该只是把reply显示4层, 评论依旧应该是嵌套成8层的。 您的看法呢?

      目前我大致就简单的试验了一下, 大概就是如此的情况。 我还要就 Wordpress 自带的评论功能来谈谈我自己的看法。

      其实我觉得 Wordpress 弄出个 Walker_Comment 的 Class 出来真的大可不必, 而且这个 Walker_Comment 用起来其实还真的不是那么的简单, 我倒是觉得只要加个函数就够了, 关键只要能够得到一个评论结束的 action 或者 filter 的 API 就可以了, 这样就可以在主评论之后插入子评论了。 比如<ol>comments<li>comment-1</li></ol>, 只要能够获取comment-1结束就可以了, 也就是在</li>之后插入一个 action 就可以把 子评论加入到合适的位置上去了, 没想到 Wordpress 开发小组竟然把这么个功能写的如此复杂(诚然的, 它这个 Walker_Comment Class 中还包含了 wp paged comments 的功能, 但我依然觉得是太过复杂), 当然可能我的目光太短浅了, Wordpress 自己有较多的考虑。

      最后, 我可以告诉大家的是, 经过我的试验, Wordpress Thread comment 依然可以使用, 当然跟 Wordpress 自带的 comment reply 功能是相冲突的, 同时也是跟它的那个 paged comments 的功能是相冲突的; 只要你舍弃了这两个功能, 您可以很好的使用该插件。

      就在我要写这篇日志的时候, Akismet plugins 进行了更新, 我还没有仔细看过这个更新是干吗的, 我的第一感觉告诉我这是在为 Wordpress 2.7 的发布作准备, 因为在 Wordpress 2.6 发布的时候, Akismet 就做了更新; 而在 wordpress 2.7 的 feature 中就曾提到要加入一个 spam comments 的后台页面, 这样也就是说必须要禁用掉 Akismet 的垃圾评论管理的页面, 所以 Akismet 必须要作相应的更新, 而根据 Wordpress 小组的处事风格, 一般都是先让插件推出, 之后再推出主程序, 从而防止错误的产生。 不知道我猜想的是否正确, 有兴趣的可以去比较一下新版和前一版本的 Akismet, 看看有什么变化。

  您喜欢本文吗?即刻订阅"偶爱偶家",精彩文章不再错过!现在就给我们留个话吗?

 

« 关于Wordpress Thread Comment的几点说明 德生PL-450收音机一周使用感受 »
32 responses to "Wordpress 2.7 评论回复功能试用"
Awaken said:
2008年10月17日

嗯,那Thread Comment也得出新版本了吧?

[Reply]

2008年10月17日

@Awaken, 不用出啊, 我这日志中哪里体现出来 Thread Comment 有必要新的版本?

[Reply]

Godii reply:
2008年11月14日

测试

[Reply]

NickyYe said:
2008年10月17日

对于php还有wordpress本身的结构我并不了解。但是从软件架构来看,所谓highly cohesive & loosely coupling,一个新的类更有益于未来的复用和拓展吧。就像你说的,肯定有未来更多功能的考虑。这只是我的一些推测,呵呵。
要我不用Thread Comment还真舍不得呢,这么好的插件,再次感谢你~

[Reply]

鬼仔 said:
2008年10月17日

在回复的评论中加入 @author 的时候,能不能加个链接,就像
@<a href=”#comment-ID”>author</a>:

[Reply]

2008年10月18日

@鬼仔, 那时候我从主题的结构考虑, 很多的主题没有id=”comment-ID” 的, 所以就把这个给省略了, 加这个其实非常的方便.

[Reply]

鬼仔 reply:
2008年10月18日

嗯,要不加上这个功能,后台设置的时候弄个开关?选择是否显示链接?

[Reply]

Leeiio reply:
2008年10月25日

請問怎麼加?

[Reply]

Godii reply:
2008年11月14日

再测一下

Dianso said:
2008年10月17日

出了个Akismet stats
看起来还可以

我觉得wordpress收购你的插件多好啊

以后也不知道冲突了该怎么解决了

[Reply]

2008年10月18日

@dianso, 不会冲突的呀, 两者可以用其一吗, 反正 Wordpress 也做了一个开关, 可以关掉它自带的回复.

[Reply]

流星 said:
2008年10月18日

看来没有必要着急升级到2.7了
毕竟我还怕我如今的主题出问题,可没那个能力修改

[Reply]

2008年10月18日

@流星, 主题不会有问题, 2.7 可以兼容原来的主题, 但就是不能回复(回复的模板要另外建立的)

[Reply]

2008年10月18日

从我开始接触WP的时候,都一直用这个插件,谢谢博主做这么好的插件

[Reply]

浮黑 said:
2008年10月18日

毫无疑问,无论WordPress如何升级,Wordpress Thread Comment总有自己的位置。枫叶辛苦了。
对了,上周用支付宝给你捐了点钱,不知收到没有?(支付宝捐钱需要数字认证,我弄了半天,也不知成功没有……)

[Reply]

2008年10月18日

@浮黑, 谢谢您的捐赠, 我没来得及写日志表示感谢呢.

[Reply]

浮黑 reply:
2008年10月19日

呵呵,该说谢谢的是我们啊。不必专门写了……知道有收到就行了。

[Reply]

冰古 said:
2008年10月20日

wordpress老是出个不完全的东西。例如tag,后台tag的管理几乎没有。

[Reply]

枫叶 reply:
2008年10月21日

Wordpress的开发组估计就是喜欢脑残的产品, 不要说tags了, 就连comments的一个query的api从2.0就开始说todo了, 到现在还是todo呢

[Reply]

Allen said:
2008年10月22日

自动加的链接有点多,不太好看···

[Reply]

火星人 said:
2008年10月22日

大家不要急,开发组会慢慢改进的。。。

[Reply]

nonozone said:
2008年10月23日

您好,我安装了但是有点问题,在点击回复的时候,弹出提示:error:con’t find the” div

[Reply]

2008年10月26日

@nonozone, 这个是你的模板问题, 您可以查找您的模板的comments.php文件, 查找一下内容 wp-comments-post.php, 然后在form之后加入 id=”commentform” 应该就可以了.

[Reply]

nonozone reply:
2008年10月26日

还真的是啊!还有个问题是,如果是第一条回复头像就显示不了,第二条以后就没有问题了,以前用这个插件也老有这个问题。谢谢了

[Reply]

2008年10月27日

@nonozone, 这个问题听不懂, 我也没有碰到过, 估计是网络问题吧? 否则程序上应该没有问题的.

nonozone reply:
2008年10月27日

你不是到我网站留言嘛,是不是每次同一个人第一次回复的时候是没有头像的,后面的才会显示出来。

[Reply]

Leeiio said:
2008年10月26日

請問
@author:
應該怎麼修改?

[Reply]

2008年10月27日

@Leeiio, 这个只要修改js文件就可以了, id我已经给出了, 你只要自己加就ok了, 我准备在下一版本中加入这个功能, 省得被人说.

[Reply]

Leeiio said:
2008年10月27日

呃,没成功。哪个id是该条评论的id,我php半吊子的

[Reply]

2008年10月27日

@Leeioo: 您查找wp-thread-comment.js.php, 替换以下语句:

$s("comment").value = ‘@’ + author + ‘, ‘;
替换成
$s("comment").value = ‘@<a href="#comment-’ + cid + ‘">’+ author + ‘</a>, ‘;

Commentarea.value = ‘@’ + author + ‘, ‘;
替换成
Commentarea.value = ‘@<a href="#comment-’ + Id + ‘">’+ author + ‘</a>, ‘;

就可以了

[Reply]

Leeiio reply:
2008年10月27日

@偶爱偶家, 恩,原來有兩處地方,難怪當時沒弄成功。謝謝,搞定了。

[Reply]

2008年10月27日

@Leeiio, 注意我在上面的地方运用了html转义的, 你把代码全部复制后, 粘贴到记事本然后再重新粘贴回来

[Reply]

Leave a comment