Latest Updated:无需修改源代码即可以实现评论显示倒序。在评论模板comments.php中找到下列语句:
<?php if ($comments) : ?>
在其后面添加上让评论倒序的代码:
<?php $comments = array_reverse($comments) ?>
谢谢Zhang。
*************************
Wordpress默认的评论(留言)顺序是按照时间顺序升序来显示的,这样最新的评论会被显示在最下面,比较不符合阅读习惯(或者说是不符合我的阅读习惯吧)。通过更改comments_template的代码可以实现降序显示评论,从而将最新的评论显示在最前面。
进入Wordpress安装目录下的wp-includes目录,用文本编辑器打开comment-template.php文件,找到如下代码:
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post->ID' AND comment_approved = '1' ORDER BY comment_date");
在“ORDER BY comment_date”后面加上“DESC”,
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_post_ID = '$post->ID' AND comment_approved = '1' ORDER BY comment_date DESC");
保存退出,即可。这样评论的显示顺序就被改为以时间降序来显示了。
注:请将if else里面的3条get_results都加上DESC。
本方法在wordpress2.1、2.2中测试通过。
转载文章请注明转载自:ThinkAgain - Let's Blog!


























2007.04.20 Friday 5:55 pm
好深奥看不懂了!通知你我可能10月27办喜酒有空没空都给我想办法回来!乖哦!
2007.04.23 Monday 5:01 pm
请问有没有方法只让留言板这一页的评论倒序,而其他文章的评论保持不变呢?
2007.04.24 Tuesday 10:29 am
如果你要只让留言板这页的评论倒序而其它文章保持不变的话,那么只能新建一个自定义的页面模板作为留言板,然后在模板里面编写代码设置评论的顺序,这样比较麻烦。要不就直接用插件了。
2007.06.06 Wednesday 12:21 pm
按照您的办法试过了,但是还是不行….
您说的代码段附近有3个select语句,是不是都修改呢?还是说只改那一句?
我在用wordpress2.2
期待您的回复,谢谢
2007.06.06 Wednesday 1:37 pm
该方法在wp2.2下是可行的,因为我现在用的就是wp2.2。我是将3个select 语句都修改了。你可以再试试看。另已给你发邮件了,请查收。
2007.06.06 Wednesday 2:45 pm
非常感谢!
我刚才在本记测试的时候怎么也不行,但是这会儿刚刚回来,重新打开页面,就ok了!
太感谢你了!
2007.07.12 Thursday 10:38 am
wordpress博客刚建好.留言一出现后,就发现wordpress默认留言排序的缺点.google到你这,修改了文件,立刻见效.万分感谢!
2007.12.17 Monday 9:01 pm
能分享自己成果的人,真不错!
我的程序由于htaccess的缘故,出现了内部服务错误,在网上搜了半天,终于搜到一个和我有同样问题的人,他在论坛提问后,几个人回复都没有解决,最后他自己回复说,“问题解决了!”只留下了这几个字
没有办法,我现在在从装程序,看能不能好!
2008.01.27 Sunday 10:08 pm
晕,哪用得着这么麻烦啊,还去修改系统核心源代码。。
在comments.php最开始加上 $comments = array_reverse($comments); 就可以了。
2008.02.02 Saturday 8:36 pm
你的留言板ajx?
2008.02.04 Monday 10:28 am
[...] Wordpress默认的评论(留言)顺序是按照时间顺序升序来显示的,这样最新的评论会被显示在最下面,比较不符合阅读习惯(或者说是不符合我的阅读习惯吧)。通过更改comments_template的代码可以实现降序显示评论,从而将最新的评论显示在最前面。 [...]
2008.02.14 Thursday 8:43 am
Blog Update…
2008-2-12: Feed烧录由feedsky提供。启用了1个留言回复插件,1个附件管理插件,重新整理了图片。更新了Subscribe Button。启用侧边栏登录。换用exec-php执行侧边栏和页面中的php代码。
2008-2-13: 试图启…
2008.02.18 Monday 4:30 pm
[...] Wordpress默认的评论(留言)顺序是按照时间顺序升序来显示的,这样最新的评论会被显示在最下面,比较不符合阅读习惯(或者说是不符合我的阅读习惯吧)。通过更改comments_template的代码可以实现降序显示评论,从而将最新的评论显示在最前面。 [...]
2008.03.30 Sunday 10:50 pm
[...] Wordpress默认的评论(留言)顺序是按照时间顺序升序来显示的,这样最新的评论会被显示在最下面,比较不符合阅读习惯(或者说是不符合我的阅读习惯吧)。通过更改comments_template的代码可以实现降序显示评论,从而将最新的评论显示在最前面。 [...]
2008.04.04 Friday 10:22 pm
[...] 保存退出,即可。这样评论的显示顺序就被改为以时间降序来显示了。 注:请将if else里面的3条get_results都加上DESC。(文章技术来源:点击查看) [...]
2008.05.01 Thursday 1:12 am
也为此问题困扰,用了zhang的办法,马上解决问题,但是仍然有个问题存在,就是回复编号并没有倒序,不知该如何解决?谢谢分享经验
2008.05.01 Thursday 9:35 am
To 独木: 回复标号,是要通过自己编写代码来显示的。你可以参考下我的这个留言里面的代码:
http://www.thinkagain.cn/guestbook#comment-22197
2008.05.10 Saturday 11:23 am
[...] Latest Updated:无需修改源代码即可以实现评论显示倒序。在评论模板comments.php中找到下列语句: [...]
2008.05.14 Wednesday 6:00 pm
[...] Latest Updated:无需修改源代码即可以实现评论显示倒序。在评论模板comments.php中找到下列语句: [...]
2008.08.06 Wednesday 12:40 pm
我现在发现,如果评论进行降序的话,把评论发布框也应该放在上面,这样更合理,还有就是序号也相应进行降序排列,特别是评论太长了,翻到累才能发发评论
2008.08.06 Wednesday 1:09 pm
@shamas: 嗯,shamas这个意见不错。前阵子,刚刚将原来的降序改为正常了,就是因为回复不方便。
2008.08.06 Wednesday 1:48 pm
现在什么都讲究人性化
2008.09.05 Friday 2:02 am
if else是个啥哦
我是2.61 按您的方法修改 。。出现错误。。
2008.09.05 Friday 10:40 am
@禅猫 请按文中latest update的方法添加代码就可以了。不会出现问题的。
p.s,if else是基本的判断的语句。
2008.09.05 Friday 10:38 pm
@@山之岚
我已经修改好了 按照博主 更新的 那段语句!
2008.10.05 Sunday 1:42 am
[...] 在评论模板comments.php中找到下列语句: [...]
2008.10.14 Tuesday 10:42 pm
[...] 无需修改源代码即可以实现评论显示倒序。在评论模板comments.php中找到下列语句: [...]
2008.11.15 Saturday 12:55 pm
[...] 在评论模板comments.php中找到下列语句: [...]
2009.08.05 Wednesday 11:23 pm
[...] 无需修改源代码即可以实现评论显示倒序。在评论模板comments.php中找到下列语句: [...]
2009.09.05 Saturday 11:07 am
[...] 无需修改源代码即可以实现评论显示倒序。在评论模板comments.php中找到下列语句: <?php if ($comments) : ?> [...]