提醒:本文最后更新于 4073 天前,文中所描述的信息可能已发生改变,请仔细核实。
本次更新内容有:
♦ 一次登录或成功发表评论后,不再提示勾选协议。
♦ 版本号更新为:1.1.0.0
旧版本请参考之前写的帖子《自己写了个防机器人评论的,请大家帮忙发现BUG》,谢谢。
今天小天反馈(防机器人评论)说
就此问题,特地更新了源码,新的源码如下:
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的个人博客的《更新:防机器人评论勾选》