WordPress博客用户注册页面添加验证码
WordPress注册用户添加验证码,我这种小博客基本很少用到给网友注册用户的,登录后台添加验证码,找回密码添加验证码文章都写了,多多源码网,也不差这个注册用户添加验证码文章了,大概差不多只需要一串代码就行了,也不用安装任何插件就能现实验证码功能,主要的目的是防止浪费主机资源和防止机器人捣蛋,今天分享7种验证码功能总有你喜欢的一种验证码。
代码部署
登陆你的后台管理,选择【外观】–【编辑】–【模板函数 (functions.php)】直接添加下面全部代码:【?>前面】即可。
第一种:随机加法验证码演示图:【跳转版】
把以下全部代码丢进模板函数 (functions.php)!
/*-----------------------------------------------------------------------------------*/ /* WordPress注册用户随机数字验证码 /*-----------------------------------------------------------------------------------*/ # 注册用户添加验证码第一种 function loper_register_english_figures() { # 获取两个随机数, 范围0~99 $num1=rand(0,99); $num2=rand(0,99); echo "<p> <label for='math' class='small'>验证码:$num1 + $num2 = ? </label> <input id='math' type='text' name='sum' class='input' size='25'> <input type='hidden' name='num1' value='$num1'> <input type='hidden' name='num2' value='$num2'></p>"; } add_action('register_form','loper_register_english_figures'); # 判断验证码是否空白和错误 function loper_register_calculation() { $sum=$_POST['sum']; switch($sum){ case $_POST['num1']+$_POST['num2']:break; case null:wp_die( __( '错误:请填入验证码!' ), '', array( 'back_link'=>true ) );break; default:wp_die( __( '错误:验证码不正确!' ), '', array( 'back_link'=>true ) );} } add_action( 'register_post', 'loper_register_calculation');
第二种:随机加法验证码演示图:【显示框里】【跳转版】
把以下全部代码丢进模板函数 (functions.php)!
/*-----------------------------------------------------------------------------------*/ /* WordPress注册用户随机数字验证码 /*-----------------------------------------------------------------------------------*/ # 注册用户添加验证码第二种 function loper_register_english_figures() { # 获取两个随机数, 范围0~99 $num1=rand(0,99); $num2=rand(0,99); echo "<p> <label for='math' class='small'>验证码</label> <input id='math' type='text' name='sum' class='input' size='25' placeholder='$num1 + $num2 = ? '> <input type='hidden' name='num1' value='$num1'> <input type='hidden' name='num2' value='$num2'></p>"; } add_action('register_form','loper_register_english_figures'); # 判断验证码是否空白和错误 function loper_register_calculation() { $sum=$_POST['sum']; switch($sum){ case $_POST['num1']+$_POST['num2']:break; case null:wp_die( __( '错误:请填入验证码!' ), '', array( 'back_link'=>true ) );break; default:wp_die( __( '错误:验证码不正确!' ), '', array( 'back_link'=>true ) );} } add_action( 'register_post', 'loper_register_calculation');
第三种:随机混合数验证码演示图:【跳转版】
把以下全部代码丢进模板函数 (functions.php)!
/*-----------------------------------------------------------------------------------*/ /* WordPress注册用户随机混合数验证码 /*-----------------------------------------------------------------------------------*/ # 注册用户添加验证码第三种 function loper_register_english_figures() { # 获取英语和数字随机数, 范围0~99,目前是0,5【5位数】 $num1=substr(md5(mt_rand(0,99)),0,5); echo "<p> <label for='math' class='small'>验证码:$num1 </label> <input id='math' type='text' name='sum' class='input' size='25'> <input type='hidden' name='num1' value='$num1'></p>"; } add_action('register_form','loper_register_english_figures'); # 判断验证码是否空白和错误 function loper_register_calculation() { $sum=$_POST['sum']; switch($sum){ case $_POST['num1']:break; case null:wp_die( __( '错误:请填入验证码!' ), '', array( 'back_link'=>true ) );break; default:wp_die( __( '错误:验证码不正确!' ), '', array( 'back_link'=>true ) );} } add_action( 'register_post', 'loper_register_calculation');
第四种:随机加法验证码演示图:【提示板】
把以下全部代码丢进模板函数 (functions.php)!
/*-----------------------------------------------------------------------------------*/ /* WordPress注册用户随机数字验证码 /*-----------------------------------------------------------------------------------*/ # 注册用户添加验证码第四种 function loper_register_english_figures() { # 获取两个随机数, 范围0~99 $num1=rand(0,99); $num2=rand(0,99); echo "<p> <label for='math' class='small'>验证码</label> <input id='math' type='text' name='sum' class='input' size='25' placeholder='$num1 + $num2 = ? '> <input type='hidden' name='num1' value='$num1'> <input type='hidden' name='num2' value='$num2'></p>"; } add_action('register_form','loper_register_english_figures'); # 判断验证码是否空白和错误 function loper_register_calculation($login, $email, $errors) { $sum=$_POST['sum']; switch($sum){ case $_POST['num1']+$_POST['num2']:break; case null:$errors->add( 'zlinet', "<strong>错误</strong>:请输入验证码!" ); break; default:$errors->add( 'zlinet', "<strong>错误</strong>:验证码不正确!" );} } add_action( 'register_post', 'loper_register_calculation', 9, 9);
第五种:随机加法验证码演示图【提示板】
把以下全部代码丢进模板函数 (functions.php)!
/*-----------------------------------------------------------------------------------*/ /* WordPress注册用户随机数字验证码 /*-----------------------------------------------------------------------------------*/ # 注册用户添加验证码第五种 function loper_register_english_figures() { # 获取两个随机数, 范围0~99 $num1=rand(0,99); $num2=rand(0,99); echo "<p> <label for='math' class='small'>验证码:$num1 + $num2 = ? </label> <input id='math' type='text' name='sum' class='input' size='25'> <input type='hidden' name='num1' value='$num1'> <input type='hidden' name='num2' value='$num2'></p>"; } add_action('register_form','loper_register_english_figures'); # 判断验证码是否空白和错误 function loper_register_calculation($login, $email, $errors) { $sum=$_POST['sum']; switch($sum){ case $_POST['num1']+$_POST['num2']:break; case null:$errors->add( 'zlinet', "<strong>错误</strong>:请输入验证码!" ); break; default:$errors->add( 'zlinet', "<strong>错误</strong>:验证码不正确!" );} } add_action( 'register_post', 'loper_register_calculation', 9, 9);
第六种:随机混合数验证码演示图:【提示板】
把以下全部代码丢进模板函数 (functions.php)!
/*-----------------------------------------------------------------------------------*/ /* WordPress注册用户随机混合数验证码 /*-----------------------------------------------------------------------------------*/ # 注册用户添加验证码第六种 function loper_register_english_figures() { # 获取英语和数字随机数, 范围0~99,目前是0,5【5位数】 $num1=substr(md5(mt_rand(0,99)),0,5); echo "<p> <label for='math' class='small'>验证码:$num1 </label> <input id='math' type='text' name='sum' class='input' size='25'> <input type='hidden' name='num1' value='$num1'></p>"; } add_action('register_form','loper_register_english_figures'); # 判断验证码是否空白和错误 function loper_register_calculation($login, $email, $errors) { $sum=$_POST['sum']; switch($sum){ case $_POST['num1']:break; case null:$errors->add( 'zlinet', "<strong>错误</strong>:请输入验证码!" ); break; default:$errors->add( 'zlinet', "<strong>错误</strong>:验证码不正确!" );} } add_action( 'register_post', 'loper_register_calculation', 9, 9);
第七种:自定义问题答案验证演示图:【提示板】
把以下全部代码丢进模板函数 (functions.php)!
/*注册验证*/
function rand_reg_question(){
$register_number=rand(0,1); // 设置随机数的返回范围
$_SESSION['register_number']=$register_number;
}
add_action('login_head','rand_reg_question');
global $register_questions;
global $register_answers;
// 添加问题数组
$register_questions=array('中国首都在哪里?','1+1+1等于多少?');
// 添加答案数组(与上面的问题对应)
$register_answers=array('北京','3');
add_action( 'register_form', 'add_security_question' );
function add_security_question() {
global $register_questions;
$register_number=$_SESSION['register_number'];
?>
<p>
<label><?php echo $register_questions[$register_number];?><br />
<input type="text" name="user_proof" id="user_proof" class="input" size="25" tabindex="20" />
</label>
</p>
<?php }
add_action( 'register_post', 'add_security_question_validate', 10, 3 );
function add_security_question_validate( $sanitized_user_login, $user_email, $errors) {
global $register_answers;
$register_number=$_SESSION['register_number'];
if (!isset($_POST[ 'user_proof' ]) || empty($_POST[ 'user_proof' ])) {
return $errors->add( 'proofempty', '<strong>错误</strong>: 您还没有回答问题。' );
} elseif ( strtolower( $_POST[ 'user_proof' ] ) != $register_answers[$register_number] ) {
return $errors->add( 'prooffail', '<strong>错误</strong>: 您的回答不正确。' );
}
}