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

最近被垃圾评论弄烦了,有些目测是人工评论,但是带着广告链接,看着恶心,大部分没有Gravatar头像,于是本博决定阻止掉没有头像的访客正常提交评论,
编辑所用主题的functions.php文件,加入下面的代码:

 代码如下 复制代码
/*
    * @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;
    }
}

本博客使用了Willin Kan大神的ajax提交评论,编辑comments-ajax.php,找到下面的代码:

 代码如下 复制代码

if ( get_option('require_name_email') && !$user->ID ) {
 if ( 6 > strlen($comment_author_email) || '' == $comment_author )
  err( __('Error: please fill the required fields (name, email).') ); // ? wp_die 改?殄e?提示
 elseif ( !is_email($comment_author_email))
  err( __('Error: please enter a valid email address.') ); // ? wp_die 改?殄e?提示
}

修改为:

if ( get_option('require_name_email') && !$user->ID ) {
 if ( 6 > strlen($comment_author_email) || '' == $comment_author )
  err( __('错误:请必须填写昵称以及邮箱。') ); // ? wp_die 改?殄e?提示
 elseif ( !is_email($comment_author_email))
  err( __('错误:请输入一个有效的电子邮箱地址。') ); // ? wp_die 改?殄e?提示
 elseif (vfhky_checkgravatar($comment_author_email) == 0)
  err( __('错误:请使用注册有Gravatar头像的邮箱留言。') );
}

时间: 2024-07-31 05:20:09

WordPress禁止没有Gravatar头像的邮箱提交评论的相关文章

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

1 为何限制没有Gravatar头像的访客 前几天博主就一直在想着是否要限制没有gravatar头像的用户在博客留言,主要原因有三点: 1.博客使用的是wordpress程序,而Gravatar早在07年就被Automattic公司收购并在wp程序上发扬光大.所以,wp博客和gravatar头像天生就是一对,当然要让他们在一起了. 2.屏蔽广告.很多spamer都是没有gravatar头像的,限制没有gravatar头像的访客就等于过滤掉了相当一部分的垃圾广告.扯远一点,多说插件为众多广告商做出

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

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

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 博客如何实现自定义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

WordPress实现Gravatar头像缓存的例子

现在越来越多的网站支持Gravatar头像,越来越多的网友设置了个性化Gravatar头像,wordpress也是默认使用Gravatar头像,但是Gravatar毕竟是在墙外的,当一个页面上需要展示很多个Gravatar头像的时候,难免会影响到页面载入速度,为了提高用户体验,我们可以把头像文件缓存到本地服务器上. 首先在你的博客根目录下创建一个文件夹,专门用来存放缓存的Gravatar头像文件,比如"avatar",权限设置同目录下其他文件.然后在修改functions.php文件,

WordPress缓存Gravatar头像到本地修改

在wordpress目录下建立文件夹:avatar,文件夹权限为:755,如果不行文件夹权限就设置成777, 这是gravatar头像 缓存的路径.   设置默认头像 制作一张默认头像,也可以直接在wordpress后台>设置>讨论 里copy一张,命名为"default.jpg" ,放在 avatar文件夹里面.实在打不开,我这里就提供一个我在使用的头像   添加缓存代码 将下面的代码复制到模板的 functions.php 文件中即可:  代码如下 复制代码 funct

WordPress缓存不同大小的Gravatar头像方法

改善功能:支持不同大小的头像:支持自动创建缓存目录. 下面子凡就不多说了,把一下代码加入到你主题的function.php中即可:  代码如下 复制代码 //缓存Gravatar头像 add_filter('get_avatar', 'fanly_cache_avatar'); function fanly_cache_avatar($avatar) {  if(!is_dir('avatar'))//判断是否有缓存目录   mkdir('avatar', 0755, true);//否者创建头