让你的主题实现 WordPress 2.7 的 Thread Comments
November 2nd, 2008 Denis
WordPress 2.7 最大的一个功能就是实现了 Thread Comments,由于 WordPress 很早就在 wp_comments 数据表中预留了 comment_parent 字段,在 2.7 之前的 Thread Comments 功能实现的插件都是通过使用这个字段实现的,WordPress 2.7 也不例外,也是通过这个字段实现,所以完全兼容之前的 Thread comments 插件。但是要使用 WordPress 2.7 自带的 Thread Comments,需要修改主题的 comments.php 主题文件,我下面就讲解下如何修改,注意我这里的代码不向下兼容了,修改了之后,你的主题只能在 2.7 中使用了。
1. 首先在主题的 header.php 的 wp_head() 函数之前添加如下函数:
if(is_singular()) wp_enqueue_script('comment-reply');
上面函数是添加 comment-reply JS。让 Thread comment 能够正常运行。
2. WordPress 2.7 通过函数 wp_list_comments 来显示所有留言,并且按照 thread 形式,当然你可以通过 callback 参数来指定一个回调函数来定义留言的样式。所以在 2.7 只需使用以下代码来显示留言。
<ul class="commentlist"> <?php wp_list_comments(); ?> </ul>
3. WordPress 2.7 还可以实现留言分页,如果你启用了留言分页功能,那么你需要添加以下代码实现留言分页导航。
<div class="navigation"> <div class="alignleft"><?php previous_comments_link() ?></div> <div class="alignright"><?php next_comments_link() ?></div> </div>
4. 要实现回复留言,首先需要要吧 Comment Form 放入一个 ID 为 respond 中。然后并在 Comment form 中添加如下代码:
<?php comment_id_fields(); ?>
这段代码主要是让 Comment Form 获取一个当前 post ID 和 Parent comment ID。
5. 如果你想在回复留言的时候 Comment Form 的标题不一样。可以把 comment_form_title 函数替换成下面的函数:
<?php comment_form_title( '发表评论', '给 %s 回复' ); ?>
给 %s 回复 就是回复时候的标题,%s 是被回复者的名字,这个功能我好像试用了下,没有成功,不知道是不是 bug。
6. 添加以下代码实现取消回复。
<div id="cancel-comment-reply"> <small><?php cancel_comment_reply_link() ?></small> </div>
这篇文章节选自 WordPress 2.7 Comments Enhancements,对于以上函数的具体位置,请参考 default 主题的 comments.php 文件。WordPress 2.7 已经 beta 1了,但是某些功能还是有些 bug,使用的时候还是存在一些问题。下次我讲下,在 WordPress 2.7 下,如何简单实现 Seprate Comments 并且通过 Callback 函数自定义留言的格式。





1. Mao | November 2, 2008 at 12:45 am | #
步骤还蛮多的,还不向下兼容…..那么还不如直接用插件….
2. Denis | November 2, 2008 at 1:02 am | #
恩,原来的插件还都是可以用的。
3. zhanghao | December 2, 2008 at 5:47 pm | #
测试一下,不过好像比较复杂
4. Jor | November 2, 2008 at 12:51 am | #
谢谢分享!起床了我试试。
5. 潘大 | November 2, 2008 at 2:28 am | #
刚装了个beta1来玩,不是说要整合google sitemap插件的么,是不是取消了?
6. 轶侠 | November 2, 2008 at 7:36 am | #
WP Thread Comment终于可以下岗了,插件列表又少一项,哈哈哈哈哈哈哈哈哈
7. wuye | November 2, 2008 at 9:12 am | #
谢谢了!!我会一步一步照着去做的
8. 狐狸 | November 2, 2008 at 9:25 am | #
呵呵,逛逛水煮鱼总能发现自己想要的呵呵
9. !CnSoLoer | November 2, 2008 at 10:00 am | #
我也测试过,2.7 beta的评论回复功能在默认主题上面显示就跟一般评论一样,没有特别的样式以作区分,后台也是。
10. Denis | November 2, 2008 at 11:04 am | #
需要在 setting => disscusion 启动 thread comments 功能。
11. 时 | November 2, 2008 at 10:12 am | #
直接用插件不可以吗?
12. Denis | November 2, 2008 at 11:15 am | #
也可以。
13. Dianso | November 2, 2008 at 1:50 pm | #
还是不能做出这个效果啊
14. Denis | November 2, 2008 at 2:27 pm | #
下次我讲下,在 WordPress 2.7 下,如何简单实现 Seprate Comments 并且通过 Callback 函数自定义留言的格式。
请停下会分解!
15. 流星 | November 2, 2008 at 2:44 pm | #
先等着,正式版出来再看情况
插件到时候不会更新了是么?
16. Jor | November 2, 2008 at 5:13 pm | #
回复的邮件通知功能是不是还是要插件才行?
17. Denis | November 2, 2008 at 5:17 pm | #
好像是。
18. LoneDisc | November 21, 2008 at 4:21 am | #
呃,你是用什么插件实现的?
19. Denis | November 21, 2008 at 12:16 pm | #
comment reply Notification
20. 小墨 | November 3, 2008 at 9:43 am | #
simple tags不能用了。。。
21. nooidea | December 15, 2008 at 10:47 pm | #
我如何在不使用 threat comments情况下让别人能接受到我回复留言的邮件提示呢?
22. 沿阶草 | December 29, 2008 at 12:46 pm | #
http://fairyfish.net/archives/ 上标题的链接为什么不是文章的链接,而是http://fairyfish.net/2008/10/ 等月份的存档?
23. Denis | December 29, 2008 at 12:51 pm | #
bug 吧,我吃点修正吧!
24. 瞎子 | April 2, 2009 at 11:17 pm | #
看到你在论坛里的AD了
现在需要一款和yo2.cn类似的首页聚合模板,这个模板完全可以从yo2.cn扒下来,然后把这个模板用在一个自己简单玩的站上,是用WordPress mu2.7搭建,这个如果你能免费给我一份的话非常感激啊!
现在还在准备把我的网站重新改版,做一个新的主题出来,网站的定位也准备改掉
设计稿已经快做好了
http://www.jiehunzu.com这是我目前的网站的访问地址
她的风格会有很大的转变
是一个社区类型的分类信息站,采用口碑营销的方式运作
到时候模板也需要你帮忙啊,不过这个模板当然会给你酬劳的
呵呵
说了一大堆废话
不知道你是否会看到
看到我的留言后可以给我发邮件和我联系或者QQ:170217880
我也把我的手机号直接留给你13466562436
期待你的回复啊
25. 8suo | April 12, 2009 at 8:31 pm | #
你写的太乱,在哪个文件中加没说清楚,而且错别字很多。
26. Denis | April 12, 2009 at 11:20 pm | #
看不懂就直说撒!