wordpress禁止没有Gravatar头像的访客提交评论

1 为何限制没有Gravatar头像的访客

前几天博主就一直在想着是否要限制没有gravatar头像的用户在博客留言,主要原因有三点:

1、博客使用的是wordpress程序,而Gravatar早在07年就被Automattic公司收购并在wp程序上发扬光大。所以,wp博客和gravatar头像天生就是一对,当然要让他们在一起了。

2、屏蔽广告。很多spamer都是没有gravatar头像的,限制没有gravatar头像的访客就等于过滤掉了相当一部分的垃圾广告。扯远一点,多说插件为众多广告商做出了巨大贡献。

3、屏蔽毫无意义的评论。

一般没有gravatar头像的访客不会活跃在博客圈。大多是有问题就找你,一解决就拍屁股走人。博主深有体会,之前写了一篇《动易官方论坛的邀请码》,很多人拿到邀请码后连句谢谢都没有。博客本来就是一个交流的平台,失去了和用户的交互,那就没有任何意义了。所以,为了提升博客整体质量,需要屏蔽这部分访客。

那么接下来就说说实现“wordpress中限制没有Gravatar头像的访客提交评论”的具体方法:

2 判断是否具有Gravatar头像的函数

在functions.php中添加下面的函数,其作用是根据提交的email字段判断该留言者是否具有gravatar头像。还有种方法是通过http://www.gravatar.com/avatar/获取到头像文件的大小值是否为2637k来判断,具体方法大家可以参考《再议Gravatar头像缓存至本地服务器》中的代码。

 代码如下 复制代码

    /*
    * @author:vfhky 2013年09月11日20:23
    * @param string $email 用户提交的表单中的email字段
    * @return int 0:无gravatar头像; 1:有gravatar头像
    **/
    function vfhky_checkgravatar($email){
    $email_hash = md5(strtolower(trim($email)));
    $check_uri = 'http://www.gravatar.com/avatar/' . $email_hash . '?d=404';
    $headers = @get_headers($check_uri);
    if (!preg_match("|200|", $headers[0])) {
    return 0;
    }
    else {return 1;}
    }

3 在comments-ajax.php中调用判断函数

gravatar头像判断函数完成后,就可以在Willin Kan大神的comments-ajax.php文件中调用了。大概在该文件的90行处,在原代码中加入判断函数进行调用即可。

   

 代码如下 复制代码
/*
    * @author:vfhky 2013年09月11日20:30
    * @param string $comment_author_email 用户提交的表单中的email字段
    **/
    if ( !$user->ID ) {
    if ( 6 > strlen($comment_author_email) || '' == $comment_author )
    err( __('提示:必须填写昵称及邮件。') );
    elseif ( !is_email($comment_author_email))
    err( __('提示:请输入一个有效的电子邮件地址。') );
    elseif (vfhky_checkgravatar($comment_author_email) == 0)
    err( __('请使用Gravatar头像留言。') );
    }

4 后记

wordpress中限制没有Gravatar头像的访客提交评论

 

简单两步就实现了限制没有Gravatar头像的访客提交评论,最终效果如上图所示。当然,这个功能也可以用jquery实现。不过,一旦用户浏览器屏蔽了js,那么也就没效果了。所以,综合考虑还是用服务器端判断更为安全可靠,虽然增加了额外资源的消耗。

 

时间: 2024-08-01 08:26:15

wordpress禁止没有Gravatar头像的访客提交评论的相关文章

WordPress禁止没有Gravatar头像的邮箱提交评论

最近被垃圾评论弄烦了,有些目测是人工评论,但是带着广告链接,看着恶心,大部分没有Gravatar头像,于是本博决定阻止掉没有头像的访客正常提交评论, 编辑所用主题的functions.php文件,加入下面的代码:  代码如下 复制代码 /*     * @author:vfhky 2013年09月11日20:23     * @param string $email 用户提交的表单中的email字段     * @return int 0:无gravatar头像; 1:有gravatar头像  

WordPress无法显示Gravatar头像被墙的四种解决方案

在当前Gravatar头像服务器被墙的情况下,要想要加快Wordpress显示Gravatar头像的速度,我们可以做那些努力呢?通常的做法大致有以下几种: 1.首先可以做的就是将Gravatar头像图片缓存到自己的虚拟主机或者VPS 上,这样用户访问的就是直接读取自己服务器的图片文件.好处是访问的本地图片,图片的加载非常快!缺点也是显而易见的:运行一段时间后,大量的 Gravatar头像图片会占用非常多的空间,过多的图片导致服务器压力骤增. 2.安装插件:插件有二大类,一类是wordpress评

在WordPress中使用PHP脚本来判断访客来自什么国家_php技巧

区分访客国家有什么用? 这里是几个我利用该功能的例子. 1.区分网站功能 这个博客有翻译文章的功能, 这是为了方便海外访客阅读文章, 但对中国人显得十分多余. 所以我通过 IP 判断国家, 对中国大陆地区屏蔽翻译功能. 2.区分展示广告 比如中国大陆地区在侧边栏最下方看到的是拿福能的广告, 而其他地区看到的是 Google 的广告. hostucan 是我的一个广告主, 有英文网站, 也有中文网站, 所以我可以向他提供区分展示服务, 免得浪费流量. 3.屏蔽布点服务 海外有很多好的服务平台, 在

wordpress使用之gravatar头像设置

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 博客留言对于站长朋友们来说肯定是家常便饭了,经常能看到别人在留言时除了能留下自己的链接以外,也留下了他的个性头像,这个头像叫gravatar头像,要怎么设置?接下来就和大家分享下. 1.先登录gravatar官方网站,它的官方网站界面很简单,一个是注册,一个是登陆.我们选择注册: 2.进入邮箱页面,需要输入注册的邮箱,去别人博客留言时需要用的

WordPress无法显示Gravatar头像的解决方法

根据网络用户反馈,通过使用知名社交评论服务商多说提供的国内Gravatar服务,替换默认的Gravatar功能即可解决问题,且访问速度也很不错. 解决方法1:使用Gravatar的HTTPS(适用于任何主题) 在主题目录中,找到并打开 functions.php 文件,把以下代码复制放到该文件中:  代码如下 复制代码 // HackGravatatr function wpyou_get_ssl_avatar($avatar) { $avatar = preg_replace('/.*\/av

WordPress中对访客评论功能的一些优化方法_php实例

前几天见到某 Blog (忘记名字和网址了) 有一个相当实用的评论功能. 访客留言之后资料输入框会被隐藏起来, 如同登录了一般. 访客可以选择修改相关资料再进行评论. 给予访客很好的用户体验. 今天我将这个功能移植到了自己的主题上, 制作不难, 分享一下吧. 需求 细心的朋友可能已经注意到了: 当在某个 WordPress 发表评论后再次访问该 Blog, 资料就不需要再次填写, 因为它们都已经在资料输入框里面. 但没评论过的或者清除了 Cookie 之后, 资料输入框将空空如也. 1. 当访客

浅谈三步引爆访客对博客的评论留言数

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 博客最主要的目标就是每发一篇文章就会带来一堆的评论,不管从哪一方面都足以说明一个拥有大量追随者留言的博客是足够受欢迎的,就像实力派的卢哥一样,其博客每次更新文章都会引来一堆的评论,这就是博客的最终奋斗目标.有些博客即使开了好几年了,评论数也是寥寥无几,究其原因就是不知道怎么让访客留言,也许是文章没什么质量吧.对于提高博客的评论留言数量,笔者今

Wordpress 博客如何实现自定义Gravatar头像

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 Gravatar 头像指的是当你到其他博主博客留言的时候显示的头像,很多站长的头像都是选择国际通用Gravatar头像,因为他们找不到设置的地方,更不懂如何去实现自定义Gravatar头像,今天在这里跟大家分享下自定义Gravatar头像的方法,先看张图进一步解释下Gravatar头像: 上图是我博客中其中一篇博文的部分列表,"设计

WordPress博客推广之Gravatar头像设置

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 从事于网站推广的站长们都应该知道,不管是那方面的推广,细节的东西都应该要做的很好.网站推广的方法很多,博客留言的推广也是众多方法中的一种,博客留言推广中也有项要注意的就是头像的设置. Gravatar头像可以通过它的官网http://en.gravatar.com进行设置,设置好Gravatar头像后,它就可以在 wordpress或是支持G