更新:防机器人评论勾选

提醒:本文最后更新于 4187 天前,文中所描述的信息可能已发生改变,请仔细核实。

本次更新内容有:

♦  一次登录或成功发表评论后,不再提示勾选协议。

♦  版本号更新为:1.1.0.0

旧版本请参考之前写的帖子《自己写了个防机器人评论的,请大家帮忙发现BUG》,谢谢。


今天小天反馈(防机器人评论)说


就此问题,特地更新了源码,新的源码如下:

function access_submit($comment) {
  if (!is_user_logged_in()) {
          if(isset($_POST['access_submit']) || $_COOKIE['comment_author_' . COOKIEHASH]!='') {
              return($comment);
          } else {
              if (isset($_POST['isajaxtype']) && $_POST['isajaxtype'] > -1) {
                  //header('HTTP/1.1 405 Method Not Allowed');   clove   find some error with ajax submit  2012-03-02
                  die("请先同意声明");
              } else {
                  if(function_exists('err')){
                      err("请先同意声明");
                  } else {
                      wp_die("请先同意声明");
                  }
              }
          }
  } else {
      return($comment);
  }
}
add_action('preprocess_comment', 'access_submit');

function add_checkbox() {  
   if (!is_user_logged_in() || $_COOKIE['comment_author_' . COOKIEHASH]='') {
       $content.= '<input type="checkbox" name="access_submit" id="access_submit" value="access_submit" style="width: 15px;" /><label for="access_submit" style="margin-left:5px;">同意声明并回复    </label>';  
       $content.= '<span style="font-weight:bold;text-shadow:0 1px 0 #ddd;">  声明:</span> 本博采用 <a rel="nofollow" href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/" title="署名-非商业性使用-相同方式共享" target=_blank>BY-NC-SA</a> 协议进行授权  ';
       echo $content;
   }
}  
add_action('comment_form', 'add_checkbox');

注意:添加在主题的functions.php里面,兼容性基本上100%。另外需要博客本身已有记录登录者信息cookie(正常都有),可按情况修改。


请大家帮忙反馈下,看看有没有新的问题,如遇无法回复,再清除浏览器缓存无果的话,请邮件给我:kn007@126.com,或者在weibo留言给我:weibo.com/kn007,谢谢。


已知成功例子(除本博客,有反馈的博客):
♦  晴颺
♦  小天

转载请注明转自:kn007的个人博客的《更新:防机器人评论勾选