添加一个活跃评论作者列表

水景一页这个基于 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/>。转载请保留此信息及相应链接。

4 条关于 “添加一个活跃评论作者列表” 的评论

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)