水景一页这个基于 WordPress 的个人博客一直没怎么注重友情链接的建设,人气不是很旺。为了鼓励大家留言表达自己的观点,跟风创建了一个小小的活跃评论作者列表,链接到评论者提供的网页。列表放在了页面(包括首页)右下角的挂件里,算是对各位网友的一点回报吧。
目前选取的一年内的评论计数作为指标,取前十名评论最多的网友加入列表。根据网上的评论,这个“一年内”(12 MONTH)的计数不一定非常准确,我想这个应该无所谓吧,也不排除以后改成半年或者一个月这样的时间段。
创建列表时排除了网站的注册用户,也排除了没有提供有效网址的评论作者,这个应该比较好理解。虽然对网址有效性的检查不是非常完备,但是提供无效网址的网友,其评论数量应该也不多,估计不会有什么问题吧。
具体实现是采用了直接修改 WordPress 主题模板,加入了产生活跃评论作者列表的代码。代码根据露兜博客提供的无插件读者评论排行榜代码稍作修改,记录如下:
<?php /** * Active Comment Authors * * 2013.05.16 */ ?> <aside id="active_comment_author" class="widget widget_text"> <h3 class="widget-title">活跃读者</h3> <ul> <?php /** * WordPress制作读者评论排行榜 * @author: Ludou * @Blog : http://www.ludou.org/ */ 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 12 MONTH ) AND comment_approved = '1' AND comment_author_url != '' AND comment_type = '' AND user_id = '0' GROUP BY comment_author_email ORDER BY cnt DESC LIMIT 10"); $mostactive = ''; if ( $counts ) { // 输出读者列表 foreach ($counts as $count) { $c_url = $count->comment_author_url; $c_name = $count->comment_author; $c_cnt = $count->cnt; $mostactive .= '<li>' . '<a href="'. $c_url . '" title="' . $c_name .' 发表 '. $count->cnt . ' 条评论">' . $c_name . '</a>(' . $count->cnt . ')</li>'; } echo $mostactive; } ?> </ul> </aside><!-- active_comment_author --> <style type="text/css"> <!-- #active_comment_author ul li { list-style-type:none; float: left; margin: 0 5% 0 0 !important; padding: 5px; width: 40%; } #active_comment_author ul li:hover { background-color: #EDEDED; } --> </style>
还没来得及修改网站的 style.css 样式表文件,所以直接把列表分成两栏的样式放在后头直接输出了。过两天有空了再慢慢弄。
目前对这个修改效果还比较满意,翻到页面底部看看吧。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/most-active-comment-authors-list/>。转载请保留此信息及相应链接。
这个东西貌似早都有了~
是啊,只是我没弄。
呃…才发现我居然这么多…
呵呵,你比较支持嘛