[英]Order wp_list_comments by popularity
我有一个插件可以在评论中添加一个“喜欢”,每个“喜欢”都存储在一个名为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;
}
我对此一无所知,将不胜感激。
为了这个工作,把代码functions.php
和 In中comments.php
(你需要找到确切的放置位置,调用之前wp_list_comments()
中comments.php
):
的functions.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.php:
global $wp_query;
$comment_arr = $wp_query->comments;
usort($comment_arr, 'comment_comparator');
wp_list_comments('callback=gtcn_basic_callback', $comment_arr);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.