WordPress非插件读者墙
Posted by
admin on
六月 8th, 2010
一天不折腾wordpress就觉得有点痒,这不,又给网站添加了个小读者墙。为什么叫小墙呢,因为之前的文章:WordPress插件:wp-reader-wall读者墙已经介绍过了,现在只是在侧边栏里实现此功能。
google一下,万戈兄、zww童鞋、willin等大师一一罗列,不过最终还是选择了zww童鞋的方法,因为我没有做gravatar头像的缓存,只是借用了wordpress 3.0里的方法。有兴趣的童鞋可以去木木童鞋这里查看:传送门。
步骤一、添加如下代码到主题目录下的siderbar.php文件里
<h2>本月水王</h2>
<ul class="ffox_most_active"><?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 != 'admin' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author ORDER BY cnt DESC LIMIT 12");
foreach ($counts as $count) {
$c_url = $count->comment_author_url;
if ($c_url == '') $c_url = 'http://www.ifenwen.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>
其中www.ifenwen.com换成自己的网址,admin换成自己的用户名,“DESC LIMIT 12”的12是要现示的读者数量。
然后再在主题目录下的style.css文件里定义上述class:ffox_most_active 和 mostactive。下面提供木木的参考:
#sidebar .ffox_most_active li{
list-style:none;
float:left;
border:none;
line-height:0;
}
#sidebar .ffox_most_active img.avatar{
width:38px;
height:38px;
border:1px solid #ddd;padding:2px;margin:0 1px 0 0;}
我在应用时,做了点小修改,就是将“list-style:none”去掉了,否则我的页面显示12个头像成一列,不知道是什么原因,几番折腾之后发现将这一句去掉即可。不过经检测,在ie8下显示还是有问题,ie6就不知道了,估计八成有问题。在其他诸如chrome、opera、safari里显示均没有问题,搞得头都大了。还有头像大小也将“38”改成了“32”,总之,根据自己的主题、自己的样式折腾去吧。
6月21日更新:将代码中的
$mostactive .= '<li class="mostactive">' . '<a href="'. $c_url . '" title="' . $count->comment_author . ' ('. $count->cnt . 'comments)">' . get_avatar($count->comment_author_email, 40) . '</a></li>';
改成
$mostactive .= '<class="mostactive">' . '<a href="'. $c_url . '" title="' . $count->comment_author . ' ('. $count->cnt . 'comments)">' . get_avatar($count->comment_author_email, 32) . '</a></class>';
上述ie8下显示不正常问题完美解决。
呵呵,,我成水王了
呵呵 恭喜恭喜
现在用手机上,想折腾都没法……
我居然能也排上号了。。。
建议加个title,鼠标指到头像图片就显示水了多少句话。
加上别人的链接,我看着舒服多了,呵呵
还是觉得插件方便。
努力挣当你的水王
折腾不断,才能出个新世界,继续。
我这里有显示评论数量 链接倒是没有 直接点就可以了
各有优劣吧 反正也不复杂 尝试下了
什么时候给ZB添加一个读者墙吧,我也弄一个。。。
水水更健康,哈
水王路过,留名纪念,呵呵!
能不用插件就尽量不用插件,给博客减压…
好东西,
呵呵,不错的东东~
额α都那么水,我也来加水袄
都是牛人
也去整一个吧
我的还是单列显示~~按照你的方法。
是按照最新更新的方法尝试的么 可以再考究考究代码 看看
[...] [...]
呵呵 挑个错 第二段开头 “google以下”
谢谢 已经更正
不做水王好多年。
分析的还是蛮详细的,支持下~
在哪里添加target,让它新窗口打开
@liveme:可以参考我之前的文
利用jQuery实现链接在新窗口打开
谢谢
我也准备搞一个,不过可能应该也是插件完成,不过12个插件了,纠结啊!
你中间那个上下跑动的箭头怎么做啊
@沙拉酷儿:边栏搜索 上下滚动
话说,墙呢?没有找着哦