0315: 维护日志 让WordPress注册时不发邮件,直接显示密码

现在,大家终于可以注册本站会员了,并且不必告诉我你的信息了。不过注册的唯一好处是,可以有自定义头像。

我是怎么做到的呢,就像标题,注册时直接显示密码。下面加上一段一小鱼的日志,做一个详细的说明。

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。其它版本的没看,应该没啥大的变化。

好了,引用结束。接下来说几点今天的维护情况。今天又是忙碌一整天……!

首先我确定了一个事实:我这种免费的虚拟主机(Hosting)是不支持发送邮件的,无论是Wordpress自带的Mail还是自己设置的SMTP,都是不可能的。所以说,我上面才要把发送邮件这个步骤跳过。同时带来的是,大家也没有可能收到来自本站的自动发送订阅邮件了,这是一个很令人失望的事,但我不得不告诉大家。我甚至有了想要付费主机的念头。我目前还发现一个缺点就是每次我要写新日志,都要先给我报一次错,才能将它保存为草稿。这倒也无大碍。

第二点,上面已经提到,新用户可以注册啦!

第三点呢,处于本站右栏的Subscribe,显然由于SMTP的问题,不能够自动给大家发送新文章提醒了,但我还是能够收到大家的填表信息,所以我会争取手动发送的。

今天,修改了部分此模板(Blass)的代码,改了一点颜色,加了些水平线,感觉比以前有型了一些,自我觉得远远看上去还是挺专业的。(继续做我的付费主机之梦……)反正,哪天美梦成真了(在此站还没被封之前),我会原封不动地转过去的,此站地址也会自动跳转过去。同时,Profile图片的显示问题貌似也莫名其妙的消失了,这非常好……。

最后讲一下留言簿的问题,我试了好几个留言簿,好像除了现在这个都有点问题,现在这个的小缺陷就是必须进入首页Menu中的Guestbook才能留言,而不能放在主页的Slidebar里。对了!我是不是能放在footer(页面尾部)呢?这是个好主意!明天我来实践看!

上天保佑这个网站在我再次看到的时候还没被封……