不使用插件纯代码实现WordPress注册用户自定义填写密码,由于WordPress系统的机制,在注册的时候只需要填写用户名和邮箱就可以注册账号,这样对于用户体验不是那么的友好,本次亿破姐网站为大家分享纯代码实现WordPress注册用户自定义填写密码,密码还可以自定义多少位数,既然用户注册后还要将随机生成的密码更改,为什么不让他们自己填写密码呢?怎么才能实现这个功能,我们今天介绍一个不使用插件,只要一串代码搞定的方法!
使用方法,在你主题文件的functions.php 添加以下代码即可实现
// WordPress注册用户填写密码! add_action( 'register_form', 'loper_register_fields' ); function loper_register_fields(){ ?> <p> <label><?php _e('密码') ?><br/> <input name="password" id="password" class="input" value="" size="21" type="password"></label> </p> <p> <label><?php _e('重复密码') ?><br/> <input name="repeat_password" id="repeat_password" class="input" value="" size="21" type="password"></label> </p> <?php } // 检查密码是否一致! add_action( 'register_post', 'loper_extra_register_fields', 10, 3 ); function loper_extra_register_fields($login, $email, $errors) { if ( $_POST['password'] !== $_POST['repeat_password'] ) { $errors->add( 'passwords_not_matched', "<strong>错误</strong>:密码必须一样" ); } if ( strlen( $_POST['password'] ) < 10 ) { //输入你的10就是10位数 $errors->add( 'password_too_short', "<strong>错误</strong>:密码必须十位" ); } } // 禁止输入空白密码! add_action( 'user_register', 'loper_extra_fields', 100 ); function loper_extra_fields( $user_id ){ $userdata = array(); $userdata['ID'] = $user_id; if ( $_POST['password'] !== '' ) { $userdata['user_pass'] = $_POST['password'];} $new_user_id = wp_update_user( $userdata ); }
不使用插件纯代码实现WordPress注册用户自定义填写密码,不过建议大家在启用这个代码的时候,一定要配合验证码插件使用,不然会被注册机批量注册垃圾账号。