WordPress 开启用户注册功能后,就能通过访问 域名/wp-login.php?action=register 使用电子邮箱来注册网站账号了,为了减少被机器人批量注册账号,或禁止用户使用邮箱注册账号,可以在用户注册账号时增加问题验证。
功能代码
在所用主题的functions.php文件底部,添加如下代码保存
//邮箱登录增加验证功能 add_action( 'register_form', 'add_security_question' ); function add_security_question() { ?> <p> <label><?php _e('网站中文名字') ?><br /> <input type="text" name="cccitu_proof" id="cccitu_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) { // 如果没有回答 if (!isset($_POST[ 'cccitu_proof' ]) || empty($_POST[ 'cccitu_proof' ])) { return $errors->add( 'proofempty', '<strong>错误</strong>: 您还没有回答问题。' ); // 如果答案不正确 } elseif ( strtolower( $_POST[ 'cccitu_proof' ] ) != '玩机大学' ) { return $errors->add( 'prooffail', '<strong>错误</strong>: 您的回答不正确。' ); } }
效果演示
功能自定义
代码中的网站中文名字是问题,玩机大学是答案,你可以根据需要自行变更问题和答案。
- ⭕如果只想减少机器人自动注册,可以给一个众所周知的问题;
- ⭕如果只想让部分人注册,可以写一个只有你知道的问题和答案并将答案给特定的人;
- ⭕如果想要禁止任何人使用邮箱注册,那么答案只让自己知道就行了。
暂无评论
要发表评论,您必须先 登录