Loading
0

WordPress主题注册设置验证码防止低端机器人注册

我们搭建WordPress网站就是为了吸引真实的用户,而不是一些低端的机器人来进行注册,所以我们需要在WordPress主题注册设置验证码防止低端机器人注册。

WordPress主题注册设置验证码防止低端机器人注册

这个功能还是很方便实用的,只是在注册表单增加一行验证问题即可轻易解决。

将下方代码添加进function即可实现:

//WordPress 注册表单添加验证问题

add_action( 'register_form', 'add_security_question' );

function add_security_question() { ?>

<p>

<label><?php _e('本站名称') ?><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) {

// 如果没有回答

if (!isset($_POST[ 'user_proof' ]) || empty($_POST[ 'user_proof' ])) {

return $errors->add( 'proofempty', '<strong>错误</strong>: 您还没有回答问题。' );

// 如果答案不正确

} elseif ( strtolower( $_POST[ 'user_proof' ] ) != '此处文字更换为你的站点名称' ) {

return $errors->add( 'prooffail', '<strong>错误</strong>: 您的回答不正确。' );

}

}