如何实现WordPress5.2.3在注册界面直接显示密码而不用邮箱发送?

admin 2019年9月16日18:56:54 评论 346

WordPress 功能无疑强大的,但有些功能实现上还是有少许不尽人意,比如在 网站上有新用户注册后,必须下发到用户填写的邮件才能接收到新密码,而密码又是系统自动生成的,如果因为某些原因用户接收不到邮件,造成无法登录的现象,这种用户体验还是有些不好的。所以能在新用户注册后提示生成的密码,这样用户就可以直接登录,不用等到接收到邮件才能登录。

开始更改之前先做一些操作:
wordpress 默认是不允许用户注册的,所以你需要先登录后台开放注册功能。

下面是实现过程:
首先,你需要先找到这两个文件 wp-login.php和user.php (/wp-includes/user.php)

1.在 wp-includes/user.php下找到 这行代码:

1 update_user_option( $user_id, 'default_password_nag', true, true ); //Set up the Password change nag.

在其下面添加这句

1  // 把注册的用户名和随机生成的密码写进 cookie

2 setcookie("u",$user_login); 

3 setcookie("user_pass",$user_pass);

( WordPress 5.2.3 版本通用 是在/wp-includes/user.php 路径下的)

2.在 wordpress 根目录下 找到这个文件 wp-login.php
然后找到这句代码

1 $errors->add('registered', __('Registration complete. Please check your email.'), 'message');

然后替换成下面的代码:

 

1 // 读取 注册后写进 cookies 的用户名 和密码

2 $errors->add('registered', __('注册成功!用户名:'.$_COOKIE["u"].' 密码:'.$_COOKIE["user_pass"].'(登录后自行修改成便于你记忆的密码)'), 'message');

嗯,这样就能实现注册后,在界面上显示 新注册的用户名和密码了。

效果如下

admin

发表评论

您必须才能发表评论!