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条内足够筛选出数量来显示你的排行头像。

再次感谢小蝴蝶折腾分享。


分类:网络博客 标签:,,,,

已经有26条评论!

 

Loading...
  1. 你的博客里就是总有一些不错的功能,可惜我懒得折腾。 :smile:

    沙发!
  2. :razz: 我现在是直接不允许没有头像的评论者。想想是不是要改掉。

    板凳!
  3. 可怜了好多不会折腾头像的美女博主 :!:

    4F
  4. 先判断是否有头像,记得是露兜写的,然后被应用到头像缓存的最多。我后来的头像缓存版本也加了,没写文章了。

    5F
  5. 头像不是随机会给的吗

    6F
  6. 之前折腾过这个功能,后来发现会很花时间,然后就放弃了。以后再弄的时候试试。

    8F
  7. 虽然挺不错`(*∩_∩*)′ 但是懒得搞@_@

    10F

怎么样?你也说一句吧!

gravatar

汗 色 悲 闭嘴 调皮 笑 惊 亲 雷 馋 晕 酷 奸 怒 狂 萌 吃 贪 囧 羞 哭