笔记:WordPress注册用户填写密码

WordPress注册用户填写密码,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'] ) < 6 ) { //输入你的6就是6位数
$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 );
}

 

提示:然后刷新你的网站进入注册页看看效果!

提示:其实一点都不难,必须复制完整代码就行了!

 

感谢分享,请注明出处:https://jp.cf162.com/780.html