刚军训完就有位网友来请教小编,说是网站用户在注册网站时用邮箱接不到密码,当时小编直接是叫这位网友使用 SMTP 发信来接收密码。中午吃饭的时候小编想了想 SMTP 发信也有不好的地方,因为每个邮箱都有发信数量限制,万一网站注册用户过多可能会造成邮箱暂时被禁封等影响,所以小编想了另一种 WordPress 注册接不到密码问题的解决方法:直接在注册成功后显示随机生成的用户密码,并提示修改密码。而且这样处理更人性化。

1. 打开 WordPress 根目录下的 wp-login.php 文件,在其中找到函数代码:

wp_new_user_notification($user_id,$user_pass);

register_new_user 函数用于注册成功后发送注册通知

2. 在以上代码的下面添加以下代码:

setcookie("u",$user_login);

setcookie("user_pass",$user_pass);

这两句是把注册时用户填写的用户名和随机生成的密码写进 cookies

3. 再找到以下代码:

$errors->add('registered',__('Registrationcomplete.Pleasecheckyoure-mail.'),'message');

将其替换为

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

4. 保存文件后即可。之后的用户新注册就会立即显示密码了,如下图:

通过以上方法就可以完美解决 WordPress 网站注册后邮箱接受不到密码的问题了。