Typecho非插件读者墙
作者:N 发布时间:May 18, 2011 分类:Typecho进化
读者墙神马是我最喜欢的东东,因为当你的站点有了一定数量的留过言的访客后,你就会看到一面比较壮观的墙,我称其为叹息之墙,具体效果可以参看主站的叹息之墙,本站访客很少,所以能积攒这么多人实属不易,我不是什么牛人,只是一个普普通通的分享者,爱研究一些无聊的问题而已。 下面放出原始版我側邊欄的讀者牆,我只是把这个功能做成了一个自定义页面而已,代码如下
<ul class="toggle webshot">
<?php
$period = time() - 2592000; // 時段: 30 天, 單位: 秒
$counts = Typecho_Db::get()->fetchAll(Typecho_Db::get()
->select('COUNT(author) AS cnt','author', 'url', 'mail')
->from('table.comments')
->where('created > ?', $period )
->where('status = ?', 'approved')
->where('type = ?', 'comment')
->where('authorId = ?', '0')
->group('author')
->order('cnt', Typecho_Db::SORT_DESC)
->limit(6)
);
$mostactive = '';
$avatar_path = Helper::options()->siteUrl . 'usr/img/avatar/';
foreach ($counts as $count) {
$avatar = $avatar_path . md5(strtolower($count['mail'])) . '.jpg';
$c_url = $count['url']; if ( !$c_url ) $c_url = Helper::options()->siteUrl;
$mostactive .= "<li class='mostactive'><a href='" . $c_url . "' title='" . $count['author'] . " (" . $count['cnt'] . "comments)'><img src='" . $avatar . "' alt='' class='avatar'/></a></li>\n";
}
echo $mostactive; ?>
</ul>需要用到头像缓存功能,请移步简易的 GRAVATAR 頭像緩存 这面墙是对读者的回馈也是对自己建站的一个鼓励吧~~
