wordpress读者墙排除无gravatar头像

网络博客 郑永 14843℃ 48评论

如题,以前就想折腾这个效果,问了N个wordpress控,回答都一致,无法判断。可能大家都不在乎这个,自从认识了小蝴蝶,觉得她是技术达人,那天一问,先是觉得不可行,接着说用css可以实现,但是css效果肯定不理想,于是昨天,小蝴蝶用代码实现了这个效果,小蝴蝶威武!

长话短说,主要是因为没有头像的读者上了排行版,那道墙看上去有点不尽人意,因为大部分没有头像而长期来评论的人都是来做广告的,本站最恨就是机器刷广告还带链接的,而如果是人工评论我不屏蔽,但不带链接就ok,因为有的人虽然是来做广告的,但是评论却都是一针见血,这样的宣传者欢迎吐槽,但是我的排行版考虑到美观,所以才会出此之策。

其实当初为了维护读者墙页面,我的读者墙是用代码输出全部留言用户,然后再复制到离线编辑器,删掉没有头像的,然后直接发布页面,这样做的优点就是不用查询数据库,防止一些刷评论的进入这个页面(那时把这个页面当做友情链接使用),还可以把没有头像的给排除掉,缺点就是无法及时更新非刷评论的读者,排行版更新得手动再次编辑,太麻烦了,哈哈。

在请教的过程中,phoetry就弄过一个检查评论者头像,无头像不能评论的功能,主要折腾的还是判断有无gravatar头像,但那段代码很明显用在读者墙是行不通的,好了,废话不多说,下面分享小蝴蝶折腾出来的方法!

首先function里加如下代码:

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;
}

然后到你的读者墙代码页,下面是我的读者墙代码:

<?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 124 MONTH ) AND user_id=’0′ AND comment_author_email != ‘admin@example.com’ AND post_password=” AND comment_approved=’1′ AND comment_type=”) AS tempcmt GROUP BY comment_author_email ORDER BY cnt DESC LIMIT 20″;
$wall = $wpdb->get_results($query); $maxNum = $wall[0]->cnt;
$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’, $default = get_bloginfo(‘wpurl’).’/avatar/default.jpg’ );
$tmp = ‘<li><a rel=”nofollow” target=_blank class=”no-ce” href=”‘.$comment->comment_author_url.'” title=”‘.$comment->comment_author.’:’.$comment->cnt.’条评论”>’.$avatar.'</a></li>’;
$output2 .= $tmp;
$i++;
if($i>10)//10改成你想要的数字
break;
}
}
$output3 = “<ul class=\”readers-list\”>”.$output2.”</ul>”;
echo $output3 ;
?>

效果如下:

allreaders

参考你自己的读者墙代码,把红色那几行代码粘贴到你的代码相应位置,OK,那些没头像的读者瞬间在排行版里消失了,如果不懂,可以去小蝴蝶那里看原文,并提出问题。

转载请注明:郑永博客 » wordpress读者墙排除无gravatar头像

历史上的今天:

(48)个小伙伴在吐槽
Loading...
  1. 小蝴蝶2013-03-07 15:21 Mozilla Compatible iPhone iOS 6.1 回复

    怎么可能不坐 什么都顾不上啦 赶紧飞过来~

    沙发!
  2. 小蝴蝶2013-03-07 15:24 Mozilla Compatible iPhone iOS 6.1 回复

    好像这里漏掉了那个重要的function?

    板凳!
    • 郑永2013-03-07 15:28 Firefox 19 Windows XP 回复

      吐血~~·还是原作者厉害!哈哈。

    • 郑永2013-03-07 15:28 Firefox 19 Windows XP 回复

      发得太急了,哈哈。

    • 小蝴蝶2013-03-07 15:30 Mozilla Compatible iPhone iOS 6.1 回复

      没有没有,只是乍一看字少了点,哈哈

    • 小蝴蝶2013-03-07 15:31 Mozilla Compatible iPhone iOS 6.1 回复

      哈哈 不着急 现在不是高峰期

    • 郑永2013-03-07 15:38 Firefox 19 Windows XP 回复

      是不是突然觉得我实现更简单,哈哈。。。

    • 小蝴蝶2013-03-07 15:41 Chrome 25 iPhone iOS 6.1 回复

      是的 ! 所以睁大眼睛又看了几遍 哈哈哈

    • chojemmy2013-03-08 02:57 Google Chrome 24 Windows 7 回复

      你们两个改切磋技术了么。

  3. 土木坛子2013-03-07 18:01 Google Chrome 25 GNU/Linux 回复

    WP博客有很多是讨论关于WP折腾的。能赚钱的博客多是教你如何用博客赚钱的博客。

    地板!
    • 郑永2013-03-07 22:30 Wordpress App 2 Android 2.2.7 回复

      这想说什么。。

    • chojemmy2013-03-08 02:58 Google Chrome 24 Windows 7 回复

      坛子你也折腾不少吧,只是没写出来。对么

    • 郑永2013-03-08 08:55 Firefox 19 Windows XP 回复

      呵呵,一针见血。

    • 土木坛子2013-03-08 09:14 Google Chrome 25 Windows 7 回复

      我是想说,可以换个关注点嘛。因为这些都被人写烂了。虽然就这个技巧,可能在其它地方并未见。

      当然,写什么是每一位博主的自由,读者只能选择看与不看。~

    • 衣故事2014-11-29 23:36 Google Chrome 34 Windows 7 回复

      这个很强的说,留个印子在这里。头像都可以屏蔽,太厉害了。 :grin:

    • 土木坛子2013-03-08 09:15 Google Chrome 25 Windows 7 回复

      主题方面,小折腾是有的,因为我追求过于简洁。

    • 郑永2013-03-08 09:37 Firefox 19 Windows XP 回复

      明白你的意思了,呵呵。说实话,我的博客曾经有想过让它赚钱,不过我明白不会赚多少,所以就没再折腾。另外我博客话题挺多,只是最近正好对这方面话题兴趣多点,呵呵。

    • 郑永2013-03-08 09:37 Firefox 19 Windows XP 回复

      随意点,开心就好,呵呵。

    • 安心2013-11-05 17:23 Firefox 26 Windows 8.1 回复

      嗯,随意点,开心就好。

  4. 空空裤兜2013-03-07 23:39 Google Chrome 25 Windows XP 回复

    空白头像确实不好看 完美主义者啊

    4楼
    • 郑永2013-03-08 08:56 Firefox 19 Windows XP 回复

      很多因为技术的限制,没能折腾出来,呵呵 :)

  5. 简搜博客2013-03-08 00:35 Google Chrome 21 Windows 7 回复

    刚看前几条评论 本来说我就不凑热闹了 :lol: 看俩人聊的多好 不过看见下边还有两个哥们呢 我就来凑凑热闹吧 :twisted:

    5楼
  6. huangjun2013-03-08 02:50 Google Chrome 21 Windows XP 回复

    你举例的几个头像里面,我认识6个

    6楼
  7. chojemmy2013-03-08 02:59 Google Chrome 24 Windows 7 回复

    不得不说虽然你博客经常改,但还改得挺好的。没有越改越差。

    7楼
    • 郑永2013-03-08 09:00 Firefox 19 Windows XP 回复

      这句话经典,很多时候为了新鲜感,改了主题,后来发现其实是多余的,有时候博客的确会越改越差,我个人感觉每次修改都好像长进点,不只是改了有新鲜感,的确是觉得这么改会比原来好点。

  8. Louis Han2013-03-08 09:39 Firefox 19 Windows 7 回复

    没有申请Gravatar头像的邮件大部分都是垃圾评论啊

    8楼
  9. 牛逼思维2013-03-08 10:25 Google Chrome 25 Windows 7 回复

    早有这个想法,在你这里写出来了

    9楼
    • 郑永2013-03-08 20:23 Firefox 19 Windows XP 回复

      哈哈,要有人配合,呵呵。

  10. 集趣2013-03-09 05:43 Google Chrome 26 Windows 7 回复

    我的头像倒还上榜了啊~经常折腾主题有时候会适得其反

    10楼
    • 郑永2013-03-09 09:29 Firefox 19 Windows XP 回复

      呵呵,不推荐经常修改关键地方。

  11. airoschou2013-03-09 12:19 Google Chrome 25 Windows 7 回复

    真不错,小蝴蝶好人啊

    11楼
  12. zwwooooo2013-03-10 01:32 Firefox 19 Windows 7 回复

    这个可以有。我懒得折腾,虽然知道点,因为我的头像缓存就有判断:如果此人不是G用户 》统一调用一个default头像——和willin版本的生成对应的默认头像不同

    12楼
    • 郑永2013-03-21 00:30 Firefox 19 Windows XP 回复

      那可以不调用默认头像吗?直接忽略。。

  13. 风机盘管2013-03-11 21:56 Internet Explorer 8 Windows XP 回复

    因为有的人虽然是来做广告的,

    13楼
  14. agting2013-03-19 17:15 Google Chrome 23 Windows 7 回复

    小蝴蝶真是太厉害了!!技术强人。

    14楼
  15. 小蝴蝶2013-03-20 11:14 Google Chrome 25 Windows 7 回复

    试试看咯

    15楼
  16. 小蝴蝶2013-03-20 11:55 Google Chrome 25 Windows 7 回复

    我看看啊

    16楼
  17. wmtimes2013-03-21 00:27 Google Chrome 25 Windows 7 回复

    我那个效果谁来帮我完善下啊。

    17楼
  18. chonghua2013-03-28 11:43 Firefox 19 Windows XP 回复

    假如我真的不想使用头像呢!

    18楼
    • 郑永2013-03-28 17:54 Firefox 19 Windows XP 回复

      随意用,哈哈。不用还是会给你套个默认头像。

  19. Geelg2013-06-08 15:36 Google Chrome 27 Windows 7 回复

    没有有头像的话 添加一个默认的头像就行了啊
    http://www.geelg.com/reader.html

    19楼
  20. 有点蓝2013-10-27 22:54 Maxthon 4 Windows 7 回复

    这功能很多人需要呢。之前我还想了个解决办法,先用一段时间标记所有无头像评论都为垃圾评论,之后在用评论墙,无头像的应该就不会上榜了,哈哈。

    20楼
  21. RMBer2014-03-14 14:06 Firefox 27 Windows XP 回复

    不错,效果看起来比较好

    21楼
gravatar
发表我的评论
取消评论


Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址