WordPress新用户注册添加验证问题

2021-05-22 0 1,193 百度已收录

  昨天发现了一件很蛋疼的事情呀,好比你在百度搜索WordPress新用户注册添加验证问题,出来的前三个代码都是有问题的,另有一个的代码居然只有前面几句,本文要修正的功效是当站点启用注册后,给注册表单添加一个验证问答,阻止一些垃圾用户,也可以行使这个来实现约请注册功效,利益是不用安装什么约请码插件,只需设置成统一的验证谜底,然后把你设置的谜底发给那些注册的人就行了。

代码如下:

  1. add_action( 'register_form', 'add_security_question' );
  2. function add_security_question() { ?>
  3.     <p>
  4.     <label><?php _e('请输入本站域名的中央部门:22vd') ?><br />
  5.         <input type="text" name="user_proof" id="user_proof" class="input" size="25" tabindex="20" /></label>
  6.     </p>
  7. <?php }
  8.  
  9. add_action( 'register_post', 'add_security_question_validate', 10, 3 );
  10. function add_security_question_validate( $sanitized_user_login, $user_email, $errors) {
  11.     // 若是没有回覆
  12.     if (!isset($_POST[ 'user_proof' ]) || empty($_POST[ 'user_proof' ])) {
  13.         return $errors->add( 'proofempty', '<strong>错误</strong>: 您还没有回覆问题。'  );
  14.     // 若是谜底不准确
  15.     } elseif ( strtolower( $_POST[ 'user_proof' ] ) != 'dedewp' ) {
  16.         return $errors->add( 'prooffail', '<strong>错误</strong>: 您的回覆不准确。'  );
  17.     }
  18. }

加入到主题的functions.php文件就可以正常使用了。
若是你需要随机多个问题,那么需要用到如下代码:

  1. session_start();
  2. function rand_reg_question(){
  3.     $register_number=rand(0,2); // 设置随机数的返回局限
  4.     $_SESSION['register_number']=$register_number;
  5. }
  6. add_action('login_head','rand_reg_question');
  7.  
  8. global $register_questions;
  9. global $register_answers;
  10. // 添加问题数组
  11. $register_questions=array('中国的首都在那里?','Google是哪个国家的公司?','创客云是用什么建站程序搭建的?');
  12. // 添加谜底数组(与上面的问题对应)
  13. $register_answers=array('北京','美国','wordpress');
  14.  
  15. add_action( 'register_form', 'add_security_question' );
  16. function add_security_question() {
  17.     global $register_questions;
  18.     $register_number=$_SESSION['register_number'];
  19.     ?>
  20.     <p>
  21.         <label><?php echo $register_questions[$register_number];?><br />
  22.             <input type="text" name="user_proof" id="user_proof" class="input" size="25" tabindex="20" />
  23.         </label>
  24.     </p>
  25. <?php }
  26.  
  27. add_action( 'register_post', 'add_security_question_validate', 10, 3 );
  28. function add_security_question_validate( $sanitized_user_login, $user_email, $errors) {
  29.     global $register_answers;
  30.     $register_number=$_SESSION['register_number'];
  31.     if (!isset($_POST[ 'user_proof' ]) || empty($_POST[ 'user_proof' ])) {
  32.         return $errors->add( 'proofempty', '<strong>错误</strong>: 您还没有回覆问题。' );
  33.     } elseif ( strtolower( $_POST[ 'user_proof' ] ) != $register_answers[$register_number] ) {
  34.         return $errors->add( 'prooffail', '<strong>错误</strong>: 您的回覆不准确。' );
  35.     }
  36. }

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3308869544
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有猫币奖励和额外收入!

主题镇 WP教程 WordPress新用户注册添加验证问题 https://zhutizhen.com/14376.html

永远为用户服务的镇长!

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或联络我们。
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务