wordpress注册时即邮件发送密码又显示出来


在用wordpress注册用户时,一般都是用邮件发送密码到邮箱。但在很多情况下,例如某些服务器不支持mail函数。还有某些邮箱之间的存在的问题,网络问题等,导致无法发送邮件。

这里介绍一个方法,在注册用户时,即能发送邮件,又可以在注册后马上显示密码。实现注册成功后密码显示出来。

一举两得。

实现注册成功后密码显示出来

1,在WordPress根目录中找到“wp-login.php”文件

2,找到“wp_new_user_notification”,在下面添加两行

wp_new_user_notification($user_id, $user_pass);

setcookie("u", $user_login);

setcookie("user_pass", $user_pass);

这两行是为了记录用户名和密码。

3,找到

elseif	( isset($_GET['checkemail']) && 'registered' == $_GET['checkemail'] )

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

改为

elseif	( isset($_GET['checkemail']) && 'registered' == $_GET['checkemail'] )
$errors->add('registered', __('恭喜您,注册成功<br/>用户名/User:'.$_COOKIE['u'].'<br />密&nbsp;&nbsp;码/Password:'.$_COOKIE['user_pass'].'<br />(请登录后修改为容易记忆的密码)'));

~完成。

PS:如果文件包含有中文的话,像上面的话。那就要另存为utf8的格式了。


37条回应:“wordpress注册时即邮件发送密码又显示出来”

  1. 沙个发~~
    支持mail的主机飘过~~~
    [ok]

    话说 不支持的话就smtp啊 WordPress如果不能发邮件那就太悲剧了

  2. @番茄 评论回复的邮件是不需要主机支持的,用的是插件,安装WP的时候如果主机支持就会发一封邮件到你填的邮箱里

  3. 大家可以搜索wordpress keyword link这个插件,国人在老外基础上改来的,虽然版本低了点,不过还是能正常工作的。

  4. […] today=new Date(); var day; var date; var hello; hour=new Date().getHours() if(hour < 6)hello=' 凌晨好! ' else if(hour < 9)hello=' 早上好! ' else if(hour < 12)hello=' 上午好! ' else if(hour < 14)hello=' 中午好! ' else if(hour < 17)hello=' 下午好! ' else if(hour < 19)hello=' 傍晚好! ' else if(hour < 22)hello=' 晚上好! ' else {hello='夜深了! '} var webUrl = webUrl; document.write(' '+hello); function showLocale(objD) { var str,colorhead,colorfoot; var yy = objD.getYear(); if(yy 现在的位置: 首页 >工作学习>正文 RSS 上一篇 修改WordPress为新用户注册时直接显示密码 发表于1 分钟前 ⁄ 工作学习 ⁄ 暂无评论 最新弄个了分享类的Blog,但发现用户注册时不能设置密码,随机生成的密码是发送到用户的注册邮箱的,但让人头大的是邮件似乎根本发不出,于是就想看看能不能不用邮件来发送密码,一搜之下发现还真有不少人遇到类似的问题,解决办法倒也简单: […]