我以前写过关于免插件读者墙的文章,那个版本是按每月评论最多的读者来排序的,也就是每月1号会清零重新计算。文章链接:用代码武装你的wordpress [part 1]
willin 后来根据这个修改了一下,唯一不同的 willin 修改的是按照最近 30 天内评论最多的读者排序的,我觉得这样更适合“最活跃的读者”的定义,所以我今晚换为 willin 这个版本了
因为 willin 的是使用 willin 的简单 gravatar 头像缓存的基础上的代码,我特意改出 2 个版本:1 个是针对没有使用头像缓存的,1 个是使用了头像缓存的。
一、没有使用头像缓存的读者墙代码:
<h2>Most Active Friends</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 != 'zwwooooo' 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 = 'https://zww.me/'; $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>
说明:
- 里面添加了 2 个 class:ffox_most_active 和 mostactive,根据自己模板在 style.css 设置样式吧
- 里面的 https://zww.me 改为你自己博客的网址
- 代码里面“DESC LIMIT 12”的 12 是要现示的读者数量
- 代码里面的“zwwooooo”是指除博主以外的意思,替换为自己的 WP 用户名吧
我的 css 样式参考:
#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;}
二、使用了 willin 的简单 gravatar 头像缓存的读者墙代码:
<h2>Most Active Friends</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 != 'zwwooooo' 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) { $a = get_bloginfo('wpurl') . '/avatar/' . md5(strtolower($count->comment_author_email)) . '.jpg'; $c_url = $count->comment_author_url; if ($c_url == '') $c_url = 'https://zww.me/'; $mostactive .= '<li class="mostactive">' . '<a href="'. $c_url . '" title="' . $count->comment_author . ' ('. $count->cnt . 'comments)"><img src="' . $a . '" alt="' . $count->comment_author . ' ('. $count->cnt . 'comments)" class="avatar" /></a></li>'; } echo $mostactive; ?> </ul>
说明参考第一种
OK,CP吧 ,折腾吧
附 willin 的原文链接:《WordPress 免插件版侧边栏读者墙》
zww
赏
oooo
or
- 本文标题:WordPress 免插件读者墙 willin 版本
- 本文链接:https://zww.me/archives/24732
- 发布时间:2009年12月05日 21:33
- 版权声明:除非注明,文章均为 zwwooooo 原创,转载请以链接形式标明本文地址!
想请zwwooooo帮我改一下代码,可以不?因为我不懂代码。我就是想建立一个页面来放读者墙,在网上找了一段代码,跟你的上面的代码很相似。但我想改为基于willin的简单gravatar 头像缓存的读者墙,用你的缓存语句总是无法正确,所以想请你帮帮忙,可以吗?可以的话我再发代码给你,谢谢
以前那个不知道为什么会实效了,显示空白,百度一搜,居然又找到这里了
@有点蓝
不会无缘无故失效的
这是什么版本的?我的wp想添加读者墙了
文章里面有说
总算折腾完了。。。
你好,用第一个代码时,发现以下问题:
1、IE6 下移上头像不显示提示(用户名与评论数)
2、用 xammp 搭建本地服务器(测试用),显示正常,而上传到服务,结果发现数据不一样,而且有部分评论者不显示 (本地数据与服务一致),请问是怎么回事?似乎是本地的更为准确!
@lee
1. ie只显示图片alt的值,这个代码没有,get_avatar()函数本身不能输出正确的alt值
2.本地ok的话,服务器也没啥问题。
楼下:
post_password是文章加密时用的,无视
comment_approved='1'指审核通过的评论
comment_type=''顾名思义,评论类型,评论有comment、Trackbacks、Pingbacks之分,留空默认all
其中下面的是什么意思?
post_password=''
comment_approved='1'
comment_type=''
我的也是垂直显示的,不知道为什么?加了CSS还是一样,好像CSS没起作用
@smilebull
没气作用说明你的父级id/class已经定义了ul/li了,要根据自己主题改。
我使用后所有的头像只有一列,怎样才能分列呢。
@铅笔先生
看看css吧,根据自己的主题修改
你好,按第一种方法的话那如果我有人的名字跟博主的名字一样呢?我看了下结果是会给隐藏不显示的,但实际上他又是另一个人。
@sam
如果有人冒充你你直接删了他,如果你真的可以让别人也用你的昵称,那么你改为邮箱吧
把comment_author != 'zwwooooo'
改为comment_author_email != '你的邮箱'
我想问问怎么样把它加在侧边栏里呀?
@斌斌
直接加
可是我加了没效果的,是不是用了小工具就会没效果的
@斌斌
这个是纯代码,要自己把代码加到主题文件里面的,小工具你怎么加?汗
挺好,添加完毕
不会自己定义css,囧rz
@囧啊囧
囧~
[...] 新版本:《WordPress 免插件读者墙 willin 版本》 [...]
今天我加了个读者墙,用得是那个插件,不过我加载在了functions.php,有没有办法实现头像本地化呢?
@第六空间
头像缓存你也可以用插件,手动加代码我这有,搜一下。
额,为什么跑到边框的外面去了呢?麻烦帮我看看....首页就有,谢谢~
@趣味网
打开你主题的style.css,大概509行,在
#sidebar ul, #sidebar ul ol{}
里面加上
overflow:hidden;
怎么实现所有的评论者随机展示?
@liveme
改SQL语句,但我对SQL不熟,不能直接写给你
@zwwooooo
我生气了
哈哈……
@liveme
生啥气,可以找google帮下忙。
能不能帮我看一下,我的侧边栏直接用了你的CSS格式,感觉跟主题有点不配,能不能教下我,我博客上的主题,应该改哪些CSS代码?只要告诉我要改哪些值就行了,具体改成多少,我可以去我主题的CSS代码里找找看的
@洋葱
你那侧边栏宽度不同,你可以算好一行多少个头像,然后算好每个头像宽度,再设置头像大小,我的css里面头像定义的大小38px,注意你改了多少,调用函数也要改为多大 get_avatar($count->comment_author_email, 38)
@zwwooooo
谢谢啊,讲得很详细,我试着改了头像大小,整排头像还是贴着侧边栏的左边啊,我想让头像整体都往右挪一点,跟下面那排搜索之类的对齐,我也谷歌了所有代码的意思,改过#sidebar .ffox_most_active li{
list-style:none;
float:left;
border:none;
line-height:0;
}
里面的float,改成right,右变成整排头像靠右了,我就是想让这牌头像放在中间,哎呀,纠结死了
@洋葱
左边距调一下不就可以了。。。
@zwwooooo
可以把代码写给我吗?我一点也不懂代码
@洋葱
#sidebar ul.ffox_most_active{padding-left:15px;}
@zwwooooo
博主是大大的好人,
@洋葱
谢谢夸奖,可有些盗版的人说我很小气 。
@zwwooooo
这么有耐心的博主,内些就是不花钱窃取别人劳动成果的人,不要理他们
@洋葱
我直接忽视
还有个问题,我看到你的读者墙上,我把鼠标移到头像上的时候会显示有多少条评论,为什么我博客上没有呢?
@洋葱
因为我的头像函数是改过的,即使不改如果不是ie(如Firefox/chrome/opera)也会有显示。
请问代码高亮是怎么实现的?
@媛诺诺
你可以用插件,我是直接贴html - -