WordPress免插件版读者墙
2010 四月 21
这个东东已经有好多人写了。记录下来,作个记号,对google说:我曾经折腾过这个!
0×01:页面版读者墙(页面结构可根据自己风格修改):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <?php /* Template Name: commentswall */ ?> <?php get_header(); ?> <!-- BEGIN content --> <div id="content"> <!-- begin post --> <div class="single"> <!-- start 读者墙 --> <?php $query="SELECT COUNT(comment_ID) 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_email != '你自己的email地址' AND post_password='' AND comment_approved='1' AND comment_type='') AS tempcmt GROUP BY comment_author_email ORDER BY cnt DESC LIMIT 40"; $wall = $wpdb->get_results($query); foreach ($wall as $comment) { if( $comment->comment_author_url ) $url = $comment->comment_author_url; else $url="#"; $tmp = "<a href='".$url."' title='".$comment->comment_author." (".$comment->cnt.")'>".get_avatar($comment->comment_author_email, 40)."</a>"; $output .= $tmp; } $output = "<div id='readerswall'><h2>Most Active Friends</h2>".$output."</div>"; echo $output ; ?> <!-- end 读者墙 --> </div> <!-- end post --> </div> <!-- END content --> <?php get_sidebar(); get_footer(); ?> |
0×02:侧边栏版
1 2 3 4 5 6 7 8 9 10 11 12 13 | <h2>活跃读者</h2> <ul class="ffox_most_active"> <?php $wall= $wpdb->get_results("SELECT COUNT(comment_ID) 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 12"); foreach ($wall as $item) { $c_url = $item->comment_author_url; if ($c_url == '') $c_url = '#'; $mostactive .= '<li class="mostactive">' . '<a href="'. $c_url . '" title="' . $item->comment_author . ' ('. $item->cnt . 'comments)">' . get_avatar($item->comment_author_email, 40) . '</a></li>'; } echo $mostactive; ?> </ul> |
来自ZWWoOoOo童鞋博客的侧边栏css 样式参考:
1 2 | #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;} |
相关文章参考:
木木 童鞋 《WordPress 读者墙插件:Great Friend Wall》
ZWWoOoOo童鞋:WordPress 免插件读者墙 willin 版本
willin童鞋:《Wordpress 免插件版側邊欄讀者牆》
33 Responses
Post a comment








看不懂,真心看不懂…没学过代码
右边的框框是怎么能出来的
@博客爪
不知道你在说什么。
boss 还是有点不会啊 不知道代码加到哪里 求帮助 邮件我~~谢谢
终于找到并完成了,大呼一口气啊…
很感谢你的分享,我也要尝试实现这个功能了~
博客的访问量很少,这个暂时还不需要。
没研究出来,我去搜插件算了
好东西,谢谢
原来看过,现在有需要了,谢谢了
学习~~
date_sub( NOW(), INTERVAL 1 MONTH )
这个是按30天来算的吧,也就是最近30天的留言
这个怎么让它在新窗口中打开读者墙里的网址啊?
请问 如何设置显示多少时间的读者头像 比方 年 月 日
还有个问题 请问如何添加target=’_blank’ 点击头像在新窗口打开呢?
还有个问题 请问如何添加多个被排除的邮箱地址呢?
我发现这段代码
会导致 div 标签失去配对,不知道怎么回事,看起来跟$output = “这句有关
这是注释,对代码没有任何影响,除非是你误用了它(比如写错了,或者只有开始没有结束)。
你可以看下: http://ihacklog.com/external_link_redirect/aHR0cDovL3d3dy5paGFja2xvZy5jb20vc2l0ZWNvbW1lbnRz 的 HTML代码,就知道会不会出现你所说的情况。
从朵夫那里过来的 学习看看能不能用
来膜拜下大神,这次升级3.0,wp-read-wall插件失效了,折腾你这个页面版终于适合我的主题了。
好东西 收藏了,侧边和页面的分开了,比较全面
遇到一个问题:我的博客原来把侧边栏分了两栏,现在加入读者墙代码之后头像也分成两列,而不是平铺,请问如何解决
已解决,将其中嵌套的li去掉了。
来研究了下,哈哈。
是那句 ORDER BY cnt DESC LIMIT 40吗?
非常正确
,这个读者墙是按照评论者在一个月内的评论数量从大到小排名的。
弄的挺不错的:)改天我也试看看~
oh yeah~ ,我在墙上
很喜欢你写的所有免插件版本 呵呵
回访了
感觉用cms的主题不是很直观 个人建议
这个有点意思
参考了多个人写的读者墙,发现页面免插件的就你这个,这个挺好的。
啊哈,这个我也写过耶