按评论数量显示前100名评论者
如想看看自己博客上哪位博友的留言评论最多及最后的评论时间,下面一段代码会帮你实现这个功能。
可以将下面代码添加到当前主题functions.php中:
- function top_comment_authors($amount = 100) {
- global $wpdb;
- $prepared_statement = $wpdb->prepare(
- ‘SELECT
- COUNT(comment_author) AS comments_count, comment_author, comment_author_url, MAX( comment_date ) as last_commented_date
- FROM ‘.$wpdb->comments.’
- WHERE comment_author != “” AND comment_type = “” AND comment_approved = 1
- GROUP BY comment_author
- ORDER BY comments_count DESC, comment_author ASC
- LIMIT %d’,
- $amount);
- $results = $wpdb->get_results($prepared_statement);
- $output = ‘<ul class=“top-comments”>’;
- foreach($results as $result) {
- $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>’;
- }
- $output .= ‘</ul>’;
- echo $output;
- }
调用代码:
- <?php top_comment_authors(100); ?>
将代码添加到WordPress主题模板适当位置即可,其中的数字100可以控制显示数量。
通过上面的代码可以演化成类似我博客的:读者排行