按评论数量显示前100名评论者

quality,Q 70

1638625266 20211204134106 61ab6ff2de681

1638625266 20211204134106 61ab6ff2e4489

如想看看自己博客上哪位博友的留言评论最多及最后的评论时间,下面一段代码会帮你实现这个功能。

可以将下面代码添加到当前主题functions.php中:

  1. function top_comment_authors($amount = 100) {
  2.     global $wpdb;
  3.         $prepared_statement = $wpdb->prepare(
  4.         ‘SELECT
  5.         COUNT(comment_author) AS comments_count, comment_author, comment_author_url, MAX( comment_date ) as last_commented_date
  6.         FROM ‘.$wpdb->comments.’
  7.         WHERE comment_author != “” AND comment_type = “” AND comment_approved = 1
  8.         GROUP BY comment_author
  9.         ORDER BY comments_count DESC, comment_author ASC
  10.         LIMIT %d’,
  11.         $amount);
  12.     $results = $wpdb->get_results($prepared_statement);
  13.     $output = ‘<ul class=“top-comments”>’;
  14.     foreach($results as $result) {
  15.         $output .= ‘<li class=“top-comment-author”><strong> <a href=“‘.$result->comment_author_url.'” target=“_blank” rel=“external nofollow”>’.$result->comment_author.'</a></strong> 共’.$result->comments_count.’ 条评论,最后评论 ‘.human_time_diff(strtotime($result->last_commented_date)).’前</li>’;
  16.     }
  17.     $output .= ‘</ul>’;
  18.     echo $output;
  19. }

调用代码:

  1. <?php top_comment_authors(100); ?>

将代码添加到WordPress主题模板适当位置即可,其中的数字100可以控制显示数量。

通过上面的代码可以演化成类似我博客的:读者排行

 

类似文章