自从wordpress菜鸟养成计划的一系列文章写完,我就没再贴过代码了。这次趁着fishy主题升级的机会,我在网页的侧边栏新安装了读者墙模块,功能么就是展示在本站发表评论最多的访客的头像;同样的功能,有人叫评论之星,比如我,有人简单的就叫读者墙,还有比如哆坵叫它灌水大队。
侧边栏添加这个模块还是挺不错的,一是增加点图片在侧栏,避免单调,二是鼓励访客多多发表高质量的评论。
接下来分享实现方法,网上的教程一搜一大把,但很难区分到底谁的代码是真正可行有效的,这给新手带来了不少麻烦。我以前为了折腾一个侧边栏tab切换效果,在网上抓了近十篇教程,搞了一上午才搞定,费劲死了。
贴出来我这次搞到的代码,效果见侧栏,保证真实有效,假一赔十,如假包换。
<ul class="ffox_most_active" style="overflow:hidden;padding-top:5px;margin-left:20px;">
<?php
$counts = $wpdb->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 15");
foreach ($counts as $count) {
$c_url = $count->comment_author_url;
if ($c_url == '') $c_url = 'http://shaodaishan.com/';
$mostactive .= '<li class="mostactive">' . '<a href="'. $c_url . '" title="' . $count->comment_author . ' ('. $count->cnt . 'comments)">' . get_avatar($count->comment_author_email, 40) . '</a></li>';
}
echo $mostactive;
?>
</ul>
上述代码为功能代码,将其贴在想要显示读者墙的位置即可,本代码默认显示最近三十天内发表评论最多的十五位访客头像及链接,不清零,不归档。
#sidebar .ffox_most_active li{
list-style:none;
float:left;
border:none;
line-height:0;
margin:0;
margin-right:10px;
margin-top:5px;
}
#sidebar .ffox_most_active img.avatar{
width:38px;
height:38px;
border:1px solid #ddd;padding:2px;margin:0 1px 0 0;}
上面是css样式代码,默认读者墙位于id为sidebar的区块里面,且读者墙的外层容器的类别选择器为ffox_most_active。
over,具体显示效果及显示评论者头像数目、大小等因每人使用的主题不同而不同,大家可以适当调整css代码即可,另外使用的时候请注意,将第一段功能代码中的啄木游弋更换成你自己的网名,将http://shaodaishan.com更换成你的网址。
发表回复