wordpress读者墙排除无gravatar头像

  • A+
所属分类:网络博客

如题,以前就想折腾这个效果,问了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,那些没头像的读者瞬间在排行版里消失了,如果不懂,可以去小蝴蝶那里看原文,并提出问题。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:48   其中:访客  31   博主  17

    • 小蝴蝶 7
      Mozilla Compatible iPhone iOS 6.1

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

        • 郑永 Admin
          Firefox 19 Windows XP

          正好,躺着睡吧,哈哈。。晚安!

          @小蝴蝶

          • 小蝴蝶 7
            Wordpress App 3 iPhone iOS 6.1

            晚安~午安~

            @小蝴蝶

          • 小蝴蝶 7
            Mozilla Compatible iPhone iOS 6.1

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

              • 郑永 Admin
                Firefox 19 Windows XP

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

                @小蝴蝶

                • 郑永 Admin
                  Firefox 19 Windows XP

                  发得太急了,哈哈。

                  @小蝴蝶

                  • 小蝴蝶 7
                    Mozilla Compatible iPhone iOS 6.1

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

                    @小蝴蝶

                    • 小蝴蝶 7
                      Mozilla Compatible iPhone iOS 6.1

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

                      @小蝴蝶

                      • 郑永 Admin
                        Firefox 19 Windows XP

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

                        @小蝴蝶

                        • 小蝴蝶 7
                          Chrome 25 iPhone iOS 6.1

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

                          @小蝴蝶

                          • chojemmy 6
                            Google Chrome 24 Windows 7

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

                            @小蝴蝶

                          • 土木坛子 4
                            Google Chrome 25 GNU/Linux

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

                              • 郑永 Admin
                                Wordpress App 2 Android 2.2.7

                                这想说什么。。

                                @土木坛子

                                • chojemmy 6
                                  Google Chrome 24 Windows 7

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

                                  @土木坛子

                                  • 郑永 Admin
                                    Firefox 19 Windows XP

                                    呵呵,一针见血。

                                    @土木坛子

                                    • 土木坛子 4
                                      Google Chrome 25 Windows 7

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

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

                                      @土木坛子

                                      • 衣故事 0
                                        Google Chrome 34 Windows 7

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

                                        @土木坛子

                                        • 土木坛子 4
                                          Google Chrome 25 Windows 7

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

                                          @土木坛子

                                          • 郑永 Admin
                                            Firefox 19 Windows XP

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

                                            @土木坛子

                                            • 郑永 Admin
                                              Firefox 19 Windows XP

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

                                              @土木坛子

                                              • 安心 3
                                                Firefox 26 Windows 8.1

                                                嗯,随意点,开心就好。

                                                @郑永

                                              • 空空裤兜 6
                                                Google Chrome 25 Windows XP

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

                                                  • 郑永 Admin
                                                    Firefox 19 Windows XP

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

                                                    @空空裤兜

                                                  • 简搜博客 4
                                                    Google Chrome 21 Windows 7

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

                                                    • huangjun 6
                                                      Google Chrome 21 Windows XP

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

                                                      • chojemmy 6
                                                        Google Chrome 24 Windows 7

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

                                                          • 郑永 Admin
                                                            Firefox 19 Windows XP

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

                                                            @chojemmy

                                                          • Louis Han 7
                                                            Firefox 19 Windows 7

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

                                                            • 牛逼思维 3
                                                              Google Chrome 25 Windows 7

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

                                                                • 郑永 Admin
                                                                  Firefox 19 Windows XP

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

                                                                  @牛逼思维

                                                                • 集趣 6
                                                                  Google Chrome 26 Windows 7

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

                                                                    • 郑永 Admin
                                                                      Firefox 19 Windows XP

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

                                                                      @集趣

                                                                    • airoschou 1
                                                                      Google Chrome 25 Windows 7

                                                                      真不错,小蝴蝶好人啊

                                                                      • zwwooooo 9
                                                                        Firefox 19 Windows 7

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

                                                                          • 郑永 Admin
                                                                            Firefox 19 Windows XP

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

                                                                            @zwwooooo

                                                                          • 风机盘管 4
                                                                            Internet Explorer 8 Windows XP

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

                                                                            • agting 4
                                                                              Google Chrome 23 Windows 7

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

                                                                              • 小蝴蝶 7
                                                                                Google Chrome 25 Windows 7

                                                                                试试看咯

                                                                                • 小蝴蝶 7
                                                                                  Google Chrome 25 Windows 7

                                                                                  我看看啊

                                                                                  • wmtimes 2
                                                                                    Google Chrome 25 Windows 7

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

                                                                                      • 郑永 Admin
                                                                                        Firefox 19 Windows XP

                                                                                        什么效果?呵呵。。

                                                                                        @wmtimes

                                                                                      • chonghua 2
                                                                                        Firefox 19 Windows XP

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

                                                                                          • 郑永 Admin
                                                                                            Firefox 19 Windows XP

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

                                                                                            @chonghua

                                                                                          • Geelg 0
                                                                                            Google Chrome 27 Windows 7

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

                                                                                            • 有点蓝 4
                                                                                              Maxthon 4 Windows 7

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

                                                                                              • RMBer 1
                                                                                                Firefox 27 Windows XP

                                                                                                不错,效果看起来比较好