WordPress评论排序的3种方法


Wordpress评论排序WordPress的评论系统一直不是很完善,主题中的comments.php和comments的css代码也比较繁多。其实如果能够用Twitter等工具完全代替就好了(已经有了以Disqus为代表的第三方社会化评论系统)。回到主题,Wordpress评论自定义按时间顺序升序排列或者倒序排列也不是那么直接简单。


1.主题采用wp_list_comments函数,直接在Wordpress后台设置顺序

WordPress后台本身就有评论嵌套,分页和排序的设置,但是这个设置生效的前提是主题使用的函数是:

<?php wp_list_comments();?>

这个是在Wordpress2.7以后才支持的,所以之前制作的主题往往是不支持在后台设置的。
不少主题就是采用的“旧”函数:

<?php foreach ($comments as $comment) : ?>……<?php endforeach; ?>

所以直接在Wordpress后台设置是无效的。


2.主题采用foreach函数,可以直接加倒序代码

针对采用foreach函数的“旧”主题,直接在主题的comments.php中的

<?php if ($comments) : ?>

后面添加:

<?php $comments = array_reverse($comments) ?>


3.更改Wordpress默认评论排序设置

在Wordpress3.05版中,定位comment-template.php原始文件887、891行的

ORDER BY comment_date_gmt

在后面添加 DESC,注意有一个空格。
这种方法就是麻烦,每次Wordpress升级都得手动更改。