wordpress排行版排除无头像评论者
曾经有小蝴蝶助我一臂之力,实现了N多想折腾实现的功能,如题就是其中之一,当时没有收藏,时至今日,无数次的折腾中不知道什么时候,此功能不翼而飞,OK,google一搜索,第一条就是小蝴蝶的那篇wordpress排行版排除无头像评论者的文章,改一下,这下排行版看起来舒服多了,呵呵。
好吧,下面是实现方法,我帮小蝴蝶备份一下:
第一步:首先在functions.php里加入如下代码:
function no_gravatar($email) { $emailaddress = md5($email);//xiaohudie.net $url = 'http://www.gravatar.com/avatar/' . $emailaddress . '?d=404';//从gravatar处调用默认头像 $headers = @get_headers($url); if (!preg_match("|200|", $headers[0])) {//进行匹配 $is_no_avatar = FALSE;//如果这个邮件地址没有生成默认头像,则判断为有头像用户 } else { $is_no_avatar = TRUE;//反之则是没头像了 } return $is_no_avatar; }
然后在你调用评论排行的地方找到你的hook,类似foreach ($comments as $comment)
在后面加上
if (no_gravatar($comment->comment_author_email)) {
直到foreach结束处,再加上 }
第二步:例子(添加红色代码部分):
$i =1;
foreach ($wall as $comment)
if (no_gravatar($comment->comment_author_email)) {
{ $width = round(40 / ($maxNum / $comment->cnt),2); if( $comment->comment_author_url ) $url = $comment->comment_author_url; else $url="#"; $avatar = get_avatar( $comment->comment_author_email, $size = '36'); $result = '<li><a rel="nofollow" target=_blank class="no-ce" href="'.$comment->comment_author_url.'" title="'.$comment->comment_author.':'.$comment->cnt.'条评论">'.$avatar.'</a></li>'; $output .= $result;
$i++;
if($i>10)//10改成你想要的数字
break;
}
}
最后检查你的foreach前面的代码是否有 LIMIT 18,将数字改大一点,多调试,尽量够在显示的比如30条内足够筛选出数量来显示你的排行头像。
再次感谢小蝴蝶折腾分享。
下一篇:彻底去除流氓广告入侵浏览器
你的博客里就是总有一些不错的功能,可惜我懒得折腾。
@giant888 很好,节省不是时间。
我现在是直接不允许没有头像的评论者。想想是不是要改掉。
@大肥羊 那样不好吧,会错过一些良民。 话说放上表情,还真有好几个用上。
@大肥羊 以前有放过,被我注释掉了。
@郑永 确实,之前是因为垃圾评论太多了,耗流量。
PS:你的邮件回复模板多了个 i= 吧。
@大肥羊 谢谢提醒,呵呵。
@大肥羊 我试了一下,没有啊?有截图么? 我底部多了个9。
@郑永 囧,翻了翻邮件,没有了。。。
@大肥羊 忽悠成功! 开个玩笑哈,可能你看错了吧。
那我是直接被排除了么
@秀潇洒网 对,嘿嘿 :)你真有趣。
@郑永 伤心中…
@秀潇洒网 申请个头像吧。
可怜了好多不会折腾头像的美女博主
先判断是否有头像,记得是露兜写的,然后被应用到头像缓存的最多。我后来的头像缓存版本也加了,没写文章了。
@zwwooooo @zwwooooo
嗯,ludou那确实有~
头像不是随机会给的吗
不错,值得一试。
@王语双个人网站 赶紧试试吧。
之前折腾过这个功能,后来发现会很花时间,然后就放弃了。以后再弄的时候试试。
没空整~
@灰常记忆 好吧。
虽然挺不错`(*∩_∩*)′ 但是懒得搞@_@
@yyyyyyyhb 没有垃圾评论就好,不需要。
折腾折腾蛮好的