欢迎访问 夜阑小雨 我的学习碎片档案,这里记录了我的学习内容和工作中经验,希望给您带去帮助。

让WordPress注册时不发邮件,直接显示密码。(适用于EMAIL不能发送的站点)

wordpress 夜阑小雨 1140℃ 0评论

WordPress的用户注册机制是,填写用户名、邮箱,由WordPress生成随机密码,并发送到用户注册时填写的邮箱地址。但很多人的服务器并没有配置邮件服务(比如我正在用的这台服务器),或者由于邮件运行商的反垃圾邮件功能等原因,导致注册之后收不到WordPress发送的密码邮件,无法完成注册。
很不方便…
既然如此,不如我们hacks一下wordpress。让WordPress注册时不发邮件,直接显示密码得了。
怎么改呢?很简单,只需改动WordPress根目录下的 wp-login.php 即可。
2.7正式版下测试无错。

1、搜索下面这句,位于 register_new_user 函数中。用于注册成功后发送通知。找到后把它注释掉(注释方法:在代码的前面加 “/*” 代码的后面加 “*/” 不包含引号)。

2、并在上面这句的下一行加上两句:

  1. wp_new_user_notification($user_id, $user_pass);

复制代码

  1. setcookie(“u”, $user_login);

    目的是把注册时填写的用户名,以及wordpress随机生成的密码写入cookies,以便在后面调用。

    3、搜索下面这句

  2. setcookie(“user_pass”, $user_pass);

复制代码

  1. $errors->add(‘registered’, __(‘Registration complete. Please check your e-mail.’), ‘message’);
    并把它替换为

    到此,就修改完成了。保存,上传。

    还有一处建议修改(请看演示图片显示的文字)

复制代码

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

复制代码

  1. <?php _e(‘A password will be e-mailed to you.’) ?>

复制代码

替换里面的文字,以防用户注册完毕后关闭注册页而收不到密码。

我替换的文字为

  1. <?php _e(‘注册完毕后,密码会自动生成在本页。’) ?>

复制代码

当然大家可以自定义自己的内容,如果出现乱码,请将文件转码为UTF-8

转载请注明:夜阑小雨 » 让WordPress注册时不发邮件,直接显示密码。(适用于EMAIL不能发送的站点)

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址