源码库

WordPress用户注册自己填写密码

24小时自助开通VIP,马上拥有站内全部资源

  wordpress默认用户注册时,只能填写用户名和电子邮箱,点击提交后密码由系统产生并通过邮件发给用户,用户用随机密码登陆后要更改密码。这个过程对用户不是十分友好,如果主机不支持mail函数的话,还要进行一些必要的修改。今天给大家介绍一个超级简单的方法,让用户注册时可以自己填写密码。

  今天介绍两个方法,一是利用代码实现,二是利用插件实现。

  效果如图

  

WordPress用户注册自己填写密码 WordPress 用户注册 填写密码 第1张


  代码实现步骤

  在主题的functions.php中加入下列代码。

  1、通过register_form action向注册表单添加密码、重复密码和防机器人的验证输入框,防止机器人注册的方法是要求用户填写要注册的网站的名称,这个方法很棒,比验证码方便的多。

WordPress用户注册自己填写密码 WordPress 用户注册 填写密码 第2张

 


 2. 检查用户的输入,两次输入的密码是否一致,是否正确填写网站名称

  // Check the form for errorsadd_action( 'register_post', 'ts_check_extra_register_fields', 10, 3 );function ts_check_extra_register_fields($login, $email, $errors) { if ( $_POST['password'] !== $_POST['repeat_password'] ) { $errors->add( 'passwords_not_matched', "ERROR: Passwords must match" ); } if ( strlen( $_POST['password'] ) < 8 ) { $errors->add( 'password_too_short', "ERROR: Passwords must be at least eight characters long" ); } if ( $_POST['are_you_human'] !== get_bloginfo( 'name' ) ) { $errors->add( 'not_human', "ERROR: Your name is Bot? James Bot? Check bellow the form, there's a Back to [sitename] link." ); }}

  3. 存储用户输入的密码,如果用户没有填写密码,什么也不做,让WordPress自动生成密码。

  // Storing WordPress user-selected password into database on registrationadd_action( 'user_register', 'ts_register_extra_fields', 100 );function ts_register_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 );}

  4. 最后就要处理那句不协调的“A password will be e-mailed to you”,通过gettext filter处理一下即可。

  // Editing WordPress registration confirmation message add_filter( 'gettext', 'ts_edit_password_email_text' );function ts_edit_password_email_text ( $text ) { if ( $text == 'A password will be e-mailed to you.' ) { $text = 'If you leave password fields empty one will be generated for you. Password must be at least eight characters long.'; } return $text;}

  如果不爱折腾也可以直接装插件版。

点击插件下载

WordPress用户注册自己填写密码 WordPress 用户注册 填写密码 第3张user-generate-password.zip


发表评论 取消回复

还没有评论,快来说点什么吧~

联系客服
公众号
公众号
公众号
返回顶部
×
选择打赏方式:

打赏

打赏

打赏

多少都是心意,感谢支持!

×
选择分享方式: