按受欢迎程度订购wp_list_comments

时间:2013-11-08 01:37:32

标签: php wordpress comments

我有一个插件可以在评论中添加'like',每个'like'都存储在一个名为likes_comments的表中,我正在尝试根据如何对wp_list_comments的输出进行排序很多人喜欢每个评论,我希望最喜欢的评论出现在顶部。

以下是我用来调用wp_list_comments的内容:

<?php global $wp_query;
    $comment_arr = $wp_query->comments; usort($comment_arr, 'comment_comparator');
    wp_list_comments('callback=my_callback', $comment_arr);
?>

这是我的功能:

function comment_comparator($a, $b)
{
$compared = 0;
if($a->likes_comments != $b->likes_comments)
{
    $compared = $a->likes_comments < $b->likes_comments ? 1:-1;
}
return $compared;
}
if($a->likes_comments == 0)
{
$compared = $compared2;
}

我完全坚持这一点,任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:1)

为了实现这一点,请将代码放在functions.php AND 中和comments.php中(您需要在调用{{1}之前找到确切的展示位置)在wp_list_comments()):

functions.php:

comments.php

<强>的comments.php:

function comment_comparator($a, $b)
    {
        $compared = 0;
        if($a->comment_karma != $b->comment_karma)
        {
            $compared = $a->comment_karma < $b->comment_karma ? 1:-1;
        }
        return $compared;
        }

重要提示:使用插件comments rating(竖起大拇指向下)时此步骤有效。阅读其他信息here