使用wordpress的博主估计都遇到这种情况,有人在自己的博客注册成为用户后,有时候邮箱却收不到wordpress发来的密码,而wordpress的密码又是系统自动生成的,新用户收不到密码也就无法登陆了。对于这种情况可以通过在注册页面显示系统生成的密码临时解决,实现方法看下面的教程。
实现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', __('Registration complete. Please check your e-mail.'), 'message');
将其替换为
$errors->add('registered', __('注册成功!用户名:'.$_COOKIE["u"].' 密码:'.$_COOKIE["user_pass"].'(登录后自行修改成您便于记忆的密码)'), 'message');
4.保存文件后即可。之后的用户新注册就会立即显示密码了
如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。
4.8.2后的版本需要在user.php中增加setcookie语句:
$user_pass = wp_generate_password( 12, false );
$user_id = wp_create_user( $sanitized_user_login, $user_pass, $user_email );
setcookie("u", $sanitized_user_login);//新增
setcookie("user_pass", $user_pass);//新增