让WordPress注册时不发邮件,直接显示密码

from:

http://www.v2op.com/blog/2008/08/wordpress%E6%B3%A8%E5%86%8C%E7%9B%B4%E6%8E%A5%E6%98%BE%E7%A4%BA%E5%AF%86%E7%A0%81/

 

WordPress的用户注册机制是,填写用户名、邮箱,由 WordPress生成随机密码,并发送到用户注册时填写的邮箱地址。但很多人的服务器并没有配置邮件服务(比如我正在用的这台服务器),或者由于邮件运 行商的反垃圾邮件功能等原因,导致注册之后收不到WordPress发送的密码邮件,无法完成注册。

很不方便…

既然如此,不如我们hacks一下wordpress。让WordPress注册时不发邮件,直接显示密码得了。
怎么改呢?很简单,只需改动WordPress根目录下的 wp-login.php 即可。

1、搜索下面这句,位于 register_new_user 函数中。用于注册成功后发送通知。找到后把它注释掉。
wp_new_user_notification($user_id, $user_pass);

2、并在上面这句的下一行加上两句:
setcookie("u", $user_login);
setcookie("user_pass", $user_pass);

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

3、搜索下面这句
$errors->add('registered', __('Registration complete. Please check your e-mail.'), 'message');

并把它替换为

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

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

注:本文基于 WordPress 2.6.1。其它版本的没看,应该没啥大的变化。

posted @ 2009-01-10 16:14  h2appy  阅读(1543)  评论(1编辑  收藏  举报