首页 > CMS > Wordpress > 正文

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

2024-09-07 00:51:16
字体:
来源:转载
供稿:网友

个人博客给垃圾评论充满己经不是什么怪事了,我们经常会看到自己的博客下面的评论很乱了,下面给各位整理一个WordPress禁止没有Gravatar头像的邮箱提交评论方法,这个方法是比较有效的.

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

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

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

  1. if ( get_option('require_name_email') && !$user->ID ) { 
  2.  if ( 6 > strlen($comment_author_email) || '' == $comment_author ) 
  3.   err( __('Error: please fill the required fields (name, email).') ); // ? wp_die 改?殄e?提示 
  4.  elseif ( !is_email($comment_author_email)) 
  5.   err( __('Error: please enter a valid email address.') ); // ? wp_die 改?殄e?提示 
  6.  
  7. //修改为: 
  8.  
  9. if ( get_option('require_name_email') && !$user->ID ) { 
  10.  if ( 6 > strlen($comment_author_email) || '' == $comment_author ) 
  11.   err( __('错误:请必须填写昵称以及邮箱。') ); // ? wp_die 修改提示 
  12.  elseif ( !is_email($comment_author_email)) 
  13.   err( __('错误:请输入一个有效的电子邮箱地址。') ); // ? wp_die 修改提示 
  14.  elseif (vfhky_checkgravatar($comment_author_email) == 0)  
  15.   err( __('错误:请使用注册有Gravatar头像的邮箱留言。') );  
  16. //Vevb.com

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表