这个代码自己珍藏了好久,比那个插件好用多了。
通过简单的数学运算,来拦截机器人评论。
可以在代码中修改你要的运算规则,很好用。
以下是代码,也是同样的方式放在你现用主题的Fuctions.php中。
<code>
<?php
class zxdRoboCheck{
function zxd_robokiller_fields($fields) {
$rnum1 =rand(2,6);
$rnum2 = rand(2,6);
$rnum = $rnum1 * $rnum2;
$fields['robo'] = '<p class="comment-form-robo"><label for="robo">'.$rnum1.' 乘 '.$rnum2.' = (⊙o⊙)?'.__(' ').'</label> <span class="required">*</span><input id="robo" name="robo" type="text" value="" size="30" aria-required="true" /><input id="rnum" name="rnum" type="hidden" value="'.$rnum.'" size="0" aria-required="true" class="hide" /></p>';
return $fields;
}
function roboCheck($comment){
$user_id=get_current_user_id( );
if($user_id !=0) return($comment);
if (empty($_POST['robo']) || trim($_POST['robo']) == '' ) {
wp_die( __('嘿嘿~~ 这么简单的运算,居然算对了!你好厉害呀!赶紧点击这里<a href="javascript:history.back(-1)">返回上一页</a>,继续你的吐槽~'));
}
$robo_num1 = (int)$_POST['robo'];
$robo_num2 = (int)$_POST['rnum'];
if ( $robo_num2 == $robo_num1) {
return($comment);
}
else {
wp_die( __('嘿嘿~~ 这么简单的运算,居然算对了!你好厉害呀!赶紧点击这里<a href="javascript:history.back(-1)">返回上一页</a>,继续你的吐槽~'));
}
}
}
if (class_exists("zxdRoboCheck")) {
$aRoboCheck = new zxdRoboCheck();
add_action('comment_form_default_fields', array(&$aRoboCheck, 'zxd_robokiller_fields'),1);
add_filter('preprocess_comment', array($aRoboCheck, 'roboCheck'), 1);
}
?>
</code>
<?php
class zxdRoboCheck{
function zxd_robokiller_fields($fields) {
$rnum1 =rand(2,6);
$rnum2 = rand(2,6);
$rnum = $rnum1 * $rnum2;
$fields['robo'] = '<p class="comment-form-robo"><label for="robo">'.$rnum1.' 乘 '.$rnum2.' = (⊙o⊙)?'.__(' ').'</label> <span class="required">*</span><input id="robo" name="robo" type="text" value="" size="30" aria-required="true" /><input id="rnum" name="rnum" type="hidden" value="'.$rnum.'" size="0" aria-required="true" class="hide" /></p>';
return $fields;
}
function roboCheck($comment){
$user_id=get_current_user_id( );
if($user_id !=0) return($comment);
if (empty($_POST['robo']) || trim($_POST['robo']) == '' ) {
wp_die( __('嘿嘿~~ 这么简单的运算,居然算对了!你好厉害呀!赶紧点击这里<a href="javascript:history.back(-1)">返回上一页</a>,继续你的吐槽~'));
}
$robo_num1 = (int)$_POST['robo'];
$robo_num2 = (int)$_POST['rnum'];
if ( $robo_num2 == $robo_num1) {
return($comment);
}
else {
wp_die( __('嘿嘿~~ 这么简单的运算,居然算对了!你好厉害呀!赶紧点击这里<a href="javascript:history.back(-1)">返回上一页</a>,继续你的吐槽~'));
}
}
}
if (class_exists("zxdRoboCheck")) {
$aRoboCheck = new zxdRoboCheck();
add_action('comment_form_default_fields', array(&$aRoboCheck, 'zxd_robokiller_fields'),1);
add_filter('preprocess_comment', array($aRoboCheck, 'roboCheck'), 1);
}
?>
</code>
若修改运算规则可以修改代码
<code>
$rnum1 =rand(2,6);
$rnum2 = rand(2,6);
$rnum = $rnum1 * $rnum2;
</code>
$rnum1 =rand(2,6);
$rnum2 = rand(2,6);
$rnum = $rnum1 * $rnum2;
</code>
其中rand(2,6);表示随机数字范围为2至6
<code>
$rnum1 * $rnum2;
</code>
$rnum1 * $rnum2;
</code>
表示第一个数乘以第二个数,当然按自己的意愿修改了。
🙄 😛 🙁 👿 ❗ 🙂 😳 😀 😮 😯 😕 😎 😆 😡 😈 🙄 😉 💡 ➡ 😐 😥 ❓ 😛 表情添加成功~嘿嘿~
Warning: Undefined variable $comment_ID in /www/wwwroot/os_yefengs_com/wp-content/themes/V2EX/functions.php on line 267
@夜枫忆栈😮 😮 😮 😎 😆 😉 ➡ 😐 查看回复样式~