千联科技

成都APP开发制作公司

wordpress读者排行

发布时间:2020-05-30 14:20  作者:千联科技

<?php
/**
* 免插件版侧边栏读者墙*/
global $wpdb;
// 执行数据库查询
$counts = $wpdb->get_results("SELECT COUNT(comment_author) AS cnt, comment_author, comment_author_url, comment_author_email
FROM {$wpdb->prefix}comments
WHERE comment_date > date_sub( NOW(), INTERVAL 1 MONTH )
AND comment_approved = '1'
AND comment_author_email != 'example@example.com'
AND comment_author_url != ''
AND comment_type = ''
AND user_id = '0'
GROUP BY comment_author_email
ORDER BY cnt DESC
LIMIT 15");
$mostactive = '';
if ( $counts ) {
// 输出读者列表
foreach ($counts as $count) {
$c_url = $count->comment_author_url;
$mostactive .= '<li>' . '<a href="'. $c_url . '" title="' . $count->comment_author .' 发表 '. $count->cnt . ' 条评论" target="_blank">' . get_avatar($count->comment_author_email, 55, '', $count->comment_author . ' 发表 ' . $count->cnt . ' 条评论') . '</a></li>';
}
echo $mostactive;
}
?>

解释说明:

INTERVAL 1 MONTH 用于只统计最近一个月的评论

AND comment_approved = '1' 用于限定只统计已经通过审核的评论,如果你想统计未通过审核的评论,你可以将这一句代码删除。

AND comment_author_email != 'example@example.com' 用于排除不计入榜单的评论者,例如博主自己,将email地址改成博主的Email即可。

AND comment_author_url != '' 排除没填URL的评论者,也就是那些没有网站的评论者将无法进入你的排行榜。

AND comment_type = '' 限定了评论的类型,这行代码排除了 trackback 和 pingback,如果你还想统计这两种评论类型,你可以将此行代码删除。

AND user_id = '0' 使排行榜中不包含博客的注册用户(包括博主),注册用户将无法进入你的排行榜。如果你的博客有大量的注册用户,或者你的博客只有博主这个注册用户,你可以将此行代码删除。

LIMIT 15 用于限定排行榜中的人数,这里限制输出15位读者,你可以根据需要做一下更改。

(PS:前段时间自己发现一个问题,自己的博客也上线1年多了,有些细节没有怎么去在意过,感谢每天来我网站的读者们,正是因为你们,我发现了一些小细节,你们的留言排行,我发现在自己的网站调用有点问题。明明有些人回复的留言很多,为什么排名没排在第一。因为自己不是很懂PHP,之前也在此博客主题倡萌那里留言了下,我以为是这个博客又有bug,留言问了下此主题博客的作者,他说都是可以调用的,所以我就查找资料,发现原来下载默认的主题调用有点问题,自己就参照资料稍微改动,结果效果出来了,每次遇到问题但最后通过自己查找相关资料解决问题的感觉真的蛮棒的,不知道大家是否有同感)

成都APP开发制作公司
拨打右边千联科技客服热线在线咨询