同学们,我的博客终于又多了一抹色彩,那就是侧边栏的“本月水王”专栏,更多博友称之为读者墙,但是我只是把这个功能放在侧边栏,而不是单独列为一个页面,所以充其量只是一面“小墙”。
读者墙功能最近好像比较火,一方面可以鼓励访客留言,另一方面也方便博主回访。我最初是在林木木那里看到的这个功能、接着又分别在 whisperer 和 zwwoOoOo 那里看到了这个效果,有些心动,之后又在六维博客中再次看到了免插件实现读者墙的功能,于是惹起了我折腾 WordPress 的热血沸腾。
用插件实现的方法我就不多介绍了,我就爱玩代码:
一、函数部分:
将以下代码复制到 functions.php 中:
$identity="comment_author";
$passwordpost = " AND post_password=''";
$userexclude = " AND user_id='0' and comment_author != '万戈'";
$approved = " AND comment_approved='1'";
$shownumber = 24;
$counts = $wpdb->get_results("SELECT COUNT(" . $identity . ") 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 MONTH(comment_date)=MONTH(now()) and YEAR(comment_date)=YEAR(now())" .
$userexclude . $passwordpost . $approved . ") AS tempcmt GROUP BY " . $identity . " ORDER BY cnt DESC LIMIT " . $shownumber);
$passwordpost = " AND post_password=''";
$userexclude = " AND user_id='0' and comment_author != '万戈'";
$approved = " AND comment_approved='1'";
$shownumber = 24;
$counts = $wpdb->get_results("SELECT COUNT(" . $identity . ") 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 MONTH(comment_date)=MONTH(now()) and YEAR(comment_date)=YEAR(now())" .
$userexclude . $passwordpost . $approved . ") AS tempcmt GROUP BY " . $identity . " ORDER BY cnt DESC LIMIT " . $shownumber);
二、引用部分:
将以下代码复制到 sidebar.php 中:
<div class="widget">
<h3>本月水王</h3>
<ul class="ffox_most_active">
<?php if ( $counts ) : foreach ($counts as $count) :
echo '<li>' . '<a href="'. $count->comment_author_url . '" title="' . $count->comment_author . ' ('. $count->cnt . '评论)">' .get_avatar($count->comment_author_email,32).'</a></li>';
endforeach; endif;
?>
</ul>
</div>
<h3>本月水王</h3>
<ul class="ffox_most_active">
<?php if ( $counts ) : foreach ($counts as $count) :
echo '<li>' . '<a href="'. $count->comment_author_url . '" title="' . $count->comment_author . ' ('. $count->cnt . '评论)">' .get_avatar($count->comment_author_email,32).'</a></li>';
endforeach; endif;
?>
</ul>
</div>
三、样式部分:
以下样式仅作参考。
.sidebar .widget .ffox_most_active li {
list-style:none;
float:left;
border:none;
padding-left:0;
width:41px;
background:none;
}
.sidebar .widget .ffox_most_active img.avatar {
width:32px;
height:32px;
}
list-style:none;
float:left;
border:none;
padding-left:0;
width:41px;
background:none;
}
.sidebar .widget .ffox_most_active img.avatar {
width:32px;
height:32px;
}
就这样,免插件版的读者墙就实现了,效果可以见我的侧边栏(除了首页侧边栏)。其中代码和样式主要参考自 zwwoOoOo 的http://zww.me/archives/24671。
-
给 Wordpress 主题添加个性化小工具2011年01月16日 -
美化 Wordpress 之日历样式2009年08月9日 -
Wordpress 不同页面调用不同侧边栏2009年07月11日 -
个性化 Wordpress 侧边栏2009年06月27日