现在的位置: 首页 > Wordpress > WP技巧 > 正文
WordPress非插件读者墙
2010年06月08日 WP技巧 ⁄ 共 1979字 评论数 32 ⁄ 被围观 10,492+

一天不折腾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://blog.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下显示不正常问题完美解决。



目前有 32 条留言 其中:访客:31 条, 博主:0 条

  1. liveme : 2010年11月14日14:42:51  21楼

    在哪里添加target,让它新窗口打开


  2. 管理员
    admin : 2010年11月15日07:58:36  22楼

    @liveme:可以参考我之前的文章
    利用jQuery实现链接在新窗口打开
    谢谢

  3. 囧啊囧 : 2011年01月24日20:05:01  23楼

    我也准备搞一个,不过可能应该也是插件完成,不过12个插件了,纠结啊!

  4. 沙拉酷儿 : 2011年03月05日11:03:11  24楼

    你中间那个上下跑动的箭头怎么做啊


  5. 管理员
    admin : 2011年03月09日13:08:27  25楼

    @沙拉酷儿:边栏搜索 上下滚动

  6. 博士牌民工 : 2011年05月27日20:10:39  26楼

    话说,墙呢?没有找着哦


如果觉得文章或者网站对您有帮助请点击 向TA付款 捐赠作者或者点击下面的分享按钮支持作者

更多

给我留言

留言无头像?

无觅相关文章插件,快速提升流量

×