WordPress注册时不发邮件,直接显示密码,
文章来源:小灰博客| 时间:2013-04-16 16:00:31| 作者:Leo | 11 条评论
如果你已经用这方法了,但出现了编码问题直接看最下面就可以了!
声明一点,这个方法只对Wordpress3.7以下版本有效,wordpress3.7开始没有register_new_user函数了,
所有同学都知道这一点,那就是WordPress的用户注册机制是,填写用户名、邮箱,由WordPress生成随机密码,并发送到用户注册时填写的邮箱地址。但如果您的服务器并没有配置邮件服务,或者由于邮件运行商的反垃圾邮件功能等原因,导致注册之后收不到WordPress发送的密码邮件,无法完成注册。这样的话很不方便,尤其是用wp做cms站的,
很不方便,所以就有了以下方法:让WordPress注册时不发邮件,直接显示密码。
找到WordPress根目录下的 wp-login.php。
第一步:找到下面这句,位于 register_new_user 函数中。用于注册成功后发送通知。找到后把它注释掉。
wp_new_user_notification($user_id, $user_pass);
并在上面这句的下一行加上两句:
setcookie(“u”, $user_login);
setcookie(“user_pass”, $user_pass);
目的是把注册时填写的用户名,以及wordpress随机生成的密码写入cookies,以便在后面调用。
第二步:找到下面这句
$errors->add(‘registered’, __(‘Registration complete. Please check your e-mail.’), ‘message’);
把它替换为
$errors->add(‘registered’, __(‘ ^__^ 注册成功!
用户名:’.$_COOKIE[“u”].’
密码:’.$_COOKIE[“user_pass”].’
(登录后自行修改成您便于记忆的密码)’), ‘message’);
如果编码出现了问题用这里的方法去转化一下编码:http://www.sky00.com/archives/468.html 当然也可以直接这样写
在 wp-login.php文件的开始写这两行
$file=”恭喜您注册成功,登录后请自行修改密码,您的登录密码是:”;
$text = mb_convert_encoding(“$file”, “utf-8”, “gbk”);
还是找到
wp_new_user_notification($user_id, $user_pass);
这句注销了他
然后在把
$errors->add(‘registered’, __(‘Registration complete. Please check your e-mail.’), ‘message’);
替换为
$errors->add(‘registered’, __( $text.$_COOKIE[“user_pass”].”), ‘message’);
好了,大功告成。
同时也欢迎各位技术爱好者加入IT技术群(点击即可):70035098 互相交流学习!
11条评论
不错 学习了