WordPress 免插件实现评论排行榜

在网站上公布评论排行有助于提高读者评论的积极性,园子博客的侧栏一直有个“30天内最活跃的朋友”栏目。今天园子介绍下在 WordPress 中不使用插件实现评论排行榜的方法

之前园子使用的是 Top Commentators Widget 插件来实现的,今天的方法主要是通过代码。版权归 zwwooooo 所有,原文请看这里

最终实现的结果是按照30天内评论最多的读者来排序,并可以自定义去除某些读者在这个列表中的显示(比如博主自己)。

如果你也使用了 willin 的缓存头像到本地了,请使用第一种方法。如果没有使用缓存头像的,请选择第二种方法。

WordPress 免插件实现评论排行榜的方法

方法一:使用了头像缓存的评论排行榜实现方法

1.把以下代码添加到你要出现的评论排行的地方,如侧栏 sidebar.php 。

30天内最活跃的朋友

    get_results("SELECT COUNT(comment_author) AS cnt, comment_author, comment_author_url, comment_author_email FROM (SELECT * FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->posts.ID=$wpdb->comments.comment_post_ID) WHERE comment_date > date_sub( NOW(), INTERVAL 1 MONTH ) AND user_id='0' AND comment_author != '园子' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author ORDER BY cnt DESC LIMIT 12"); foreach ($counts as $count) { $a = get_bloginfo('wpurl') . '/avatar/' . md5(strtolower($count->comment_author_email)) . '.jpg'; $c_url = $count->comment_author_url; if ($c_url == '') $c_url = 'http://www.yzznl.cn/'; $mostactive .= '
  • ' . '' . $count->comment_author . ' ('. $count->cnt . 'comments)
  • '; } echo $mostactive; ?>

使用说明:

a.里面添加了 2 个 class:ffox_most_active 和 mostactive,请根据自己模板在 style.css 设置样式。

b.代码里面的 http://www.yzznl.cn/ 改为你自己博客的网址。

c.代码里面“DESC LIMIT 12”的 12 是要现示的读者数量

d.代码里面的“园子”是指除博主以外的意思,替换为自己的名字即可。

方法二:没有使用头像缓存的评论排行榜实现方法

直接贴代码了,使用说明和第一种方法的说明是一样的。

30天内最活跃的朋友

    get_results("SELECT COUNT(comment_author) AS cnt, comment_author, comment_author_url, comment_author_email FROM (SELECT * FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->posts.ID=$wpdb->comments.comment_post_ID) WHERE comment_date > date_sub( NOW(), INTERVAL 1 MONTH ) AND user_id='0' AND comment_author != '园子' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author ORDER BY cnt DESC LIMIT 12"); foreach ($counts as $count) { $c_url = $count->comment_author_url; if ($c_url == '') $c_url = 'http://www.yzznl.cn/'; $mostactive .= '
  • ' . '' . get_avatar($count->comment_author_email, 40) . '
  • '; } echo $mostactive; ?>

看看园子博客上的显示效果吧:

免插件实现评论排行榜的显示效果

免插件实现评论排行榜的显示效果

就是这么简单,折腾之后博客上又少用了一个插件,哈哈。

WordPress 免插件实现评论排行榜》上有32条评论

发表评论