让wordpress mu新用户注册后的密码明文显示,取消邮件通知
这个由于主题问题导致部分代码显示不正确,致使很多朋友复制进去之后显示失败,深表歉意,再次我重新整理了一下,可以正常显示了,同样适用于2.6.3MU版本
另外可以直接下载附件中的这两个文件,最好不要直接使用,而是根据本文的修改部分去修改,因为可能版本不一样,相应的代码位置也不同,谢谢
wordpress mu与wordpress不一样,这个新用户注册后是要求激活的,并且激活的链接会发到你的邮箱,但是在windows下的邮件发送比较麻烦
一朋友问我在windows下能不能解决wordpress mu的新用户注册的问题
那既然邮件收不到,那有两种办法可解决问题:
第一,用户注册后到数据库中查找activation_key,然后到http://$domain/wp-activate.php?key=
后面加上activation_key进行激活,这样虽然可以解决,但是如果注册用户较多,那就比较麻烦了
既然这样不可以,那想到有这个激活的链接,那能不能直接把激活的链接显示出来呢?这样应该可以解决了。
这就是要说的第二种解决办法了:
按照这个思路,查看了wordpress的注册用户的时候的文件,发现按照如下的办法可以显示激活链接
1、修改wp-signup.php文件
修改confirm_blog_signup函数,大概在374行:
function confirm_blog_signup($domain, $path, $blog_title, $user_name, $user_email, $meta) {
//增加下面三行:
global $wpdb;
$bkey=$wpdb->get_var("SELECT activation_key FROM wp_signups WHERE user_login=’$user_name’");
$active_url=’http://’.$domain.’/wp-activate.php?key=’.$bkey;
//找到
<p><?php printf(__(’Check your inbox at <strong>%s</strong> and click the link given. It should arrive within 30 minutes.’), $user_email) ?></p>
//在后面增加如下的内容
<p><?php
printf(__(’Check this link <a href="%1$s">%2$s</a> is active and click the link given. ‘), $active_url,$active_url) ?></p>
2、修改wp-activete.php文件:
大概在55行,也就是if( $signup->domain . $signup->path == ” )的else部分修改为:
printf(__(’<p class="lead-in">Your blog at <a href="%1$s">%2$s</a> is active. You may now login to your blog using your chosen username of "%3$s". userpass of "%4$s". Please check your email inbox at %5$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can <a href="%6$s">reset your password</a>.</p>’), ‘http://’ . $signup->domain, $signup->domain, $signup->user_login, $signup->user_pass, $signup->user_email, ‘http://’ . $current_site->domain . $current_site->path . ‘wp-login.php?action=lostpassword’);
也就是增加了$signup->user_pass的显示部分
测试的效果如下,按照步骤新建一个用户testaaa,邮箱testaaa@sina.com(随便写的 ^_^)
注册到如下图的部分:
看,显示了用户名和密码了吧,登录后可修改密码。
good luck!
本文地址 : http://www.foolpig.com/2008/04/14/wordpress-mu-ne/
如果你对本文感兴趣,欢迎订阅我的博客

2008-04-14 4:51 pm
那位朋友就是我,我真的是太感动了,小刀帮我解决了好多好多的问题,555555555555
2008-04-15 8:40 am
@镜花水月:
^_^
相互学习嘛
2008-05-10 5:38 pm
替换代码后出错,实现不了
foolpig可否测试一下呢?
急用,谢谢
2008-05-10 9:11 pm
不知道出错的什么状况?
可否详细说明一下?
2008-05-23 4:36 pm
[...] 我以前写过一篇文章《让wordpress mu新用户注册后的密码明文显示,取消邮件通知》 [...]
2008-06-09 12:36 am
1.5版的没有这些代码吧
2008-06-09 10:38 am
1.5版本的确实有所改动,不过,wp-signup.php这个文件,对confirm_blog_signup这个函数的修改,我的这些代码都只是增加的,并没有改动。大家可以详细的看看应该就会明白。
<?php
printf(__(’Check this link %2$s is active and click the link given. ‘),$active_url,$active_url) ?>
这部分的内容增加到:
<?php
do_action(’signup_finished’);
}
这部分内容前面即可
2008-06-26 5:34 pm
非常感谢。
老外的东西就是很烦,啥东西都的修改。不像国内程序,都是现成的。
哎,不懂代码的人,用着头疼。
2008-06-26 6:21 pm
您好!! 我按照您的方式修改了两个php文件,可是只显示了类似http://gfdfg.me2live.cn/wp-activate.php?key=89a4bd0b55d5f95d的激活码,但是点击激活码无法找到页面~~请问怎么解决呢~~~谢谢师兄~~ 希望您能邮件我答案~~~~~
2008-06-26 7:18 pm
@Benson:
您好,不知道您的邮件是多少?您能不能把您修改过的wp-activete.php和wp-signup.php这两个文件发给我看看吗?
我的邮件地址是:fpig@foolpig.com或者bbaizz@gmail.com都可
2008-06-26 9:26 pm
好的~~我马上给你~~
2008-06-27 11:14 am
@Benson:
不好意思啊,我目前没测试环境,争取尽快给您看看
2008-06-27 11:59 am
谢谢你啊!!! 我的wpmu大环境已经快好了!! 就差注册功能了! 我怎么弄都不可以!! 对了!! 还有, 我用您修改的邮箱注册。也收不到邮件呢!我用的163的邮箱,文件应该也设置好了!! 可就是收不到!!
2008-06-27 2:00 pm
@Benson:
我刚测试过,用你的那两个文件,我可以看到点击激活的链接后能看到用户名和密码,不知道您那的wpmu是什么版本?另外系统环境是什么样的,比如操作系统,php版本,是使用的apache还是其他的web server
wpmu默认注册邮件是可以收到的,不知道您试过的结果怎样,我的那个方法主要是针对部分邮件服务器的问题,你可以尝试一下
2008-06-27 2:04 pm
另外,你看下错误日志,如有可能贴出那个页面打不开时候的日志给我看下
2008-06-27 3:05 pm
错误日志在哪里?
2008-06-27 3:32 pm
我做了一个探测~~把截图给您了!!
2008-06-27 4:12 pm
我发现了一个问题,就是你采用的注册后用户的域名是me2live.cn的二级域名,也就是说乳沟我注册了个test的用户,那么我的博客就是test.me2live.cn,不知道这个域名是否能正常工作呢?
我建议还是采用sub directory方式比较好,也就是所用户的域名是http://me2live.cn/test
这样你试试
2008-06-27 4:20 pm
师兄~~我发现问题所在了~~~ 比方说我建立 blog名称benson, 那么在收到激活连接后,点击,出现的连接是benson.域名/wp-activate.php?key=2a13a728579bb427 (http://benson.me2live.cn/wp-activate.php?key=2a13a728579bb427)之类的~~~ 只要我把前边的benson.去掉就可以连接到激活页面得到密码了~~~请问这是什么问题? 怎么解决?
2008-06-27 4:25 pm
又出现一个问题~~得到密码后无法登陆~~输入后无法找到页面~~~地址还是类似benson.域名。。。。。。
2008-06-27 7:18 pm
这个问题我上面已经说了,是你的博客建立的是subdomain方式,而你实际没有泛域名的设置
所以我建议你设置成subdirectory方式
2008-06-27 7:55 pm
如果要更改成subdirectory的方式,恐怕比较困难,我在后台没有找到选项,在数据库中也没有找到相应的字段
我想到的只有一个办法,重新安装一遍,还好你现在的内容不多,都只是测试的内容
你把数据库备份一下,还有主题也备份一份
这个subdomain安装的你也不用删除,也先备份一下,万一要用可以直接拿过来
重新按照subdirectory方式安装后导入数据库,和设置一下主题,应该可以的
至于jmail这个我没有用过呢
你先测试一下,如果万一不行的话还是在用户注册后直接显示用户名和密码为妥
2008-06-27 9:58 pm
<input type=’radio’ name=’vhost’ value=’yes’ /> Sub-domains (like
blog1.example.com)<input type=’radio’ name=’vhost’ value=’no’ /> Sub-directories (like
example.com/blog1这两条函数是在首次安装的index-install.php里边找到的!!!好像非常重要~~这里应该告诉了写入的地方
2008-06-27 11:07 pm
我找到办法了
你修改下wp-config.php文件的:
define(’VHOST’, ‘yes’);
修改成define(’VHOST’, ‘no’);
就应该可以了
^_^
2008-06-27 11:24 pm
[...] 今天Benson的一席话使我在黑暗中找到了一丝方向(请见让文章《wordpress mu新用户注册后的密码明文显示,取消邮件通知》中的Benson的评论) [...]
2008-06-27 11:32 pm
哈哈!!! 经过大家的努力~~~终于成功了阿~~~这种方法应该还没有人研究出来呢把~~~~ 我们推广一下吧!!!!! 师兄!! 等我的博客做好了我们作连接哦!!! 加油!!!
2008-06-27 11:35 pm
好的啊 ^_^
我新写了篇文章:http://www.foolpig.com/2008/06/27/wordpress-mu-sub/
就是关于这个问题的
:)
2008-07-30 2:12 am
你好 我刚装的WMU2.6 mail问题搞了好久都解决不了 麻烦你能帮我改下吗 我给你发EMAIL了 希望能加你QQ 我被WMU2.6搞的好郁闷 新手刚接触 谢谢
2008-07-30 7:51 am
@ifree:
您可以参考我的另一片文章
http://www.foolpig.com/2008/05/23/wordpress-mu-sendmail/
我给您回邮件了,请查收一下
2008-08-17 2:41 am
你好哇!你的博客很漂亮哇!!
来踩踩喇!
我是深圳的哟!
2008-09-25 10:56 am
从哪里找到wp-signup.php这个文件阿?
我用的是2.6版本呢的。
2008-09-25 1:29 pm
@yuanshi :
根目录下就有这个文件
2008-10-05 7:13 pm
哈哈 终于找到了 谢谢楼主
2008-10-05 8:51 pm
@lolo:
呵呵,希望能对你有用
2008-10-09 9:38 pm
2.2版怎么不能用啊?
2008-10-10 7:26 am
@skyfan:
2.2版我没有测试过,您可以按照我的思路修改一下
2008-11-07 3:53 pm
[...] 原文链接 [...]
2008-11-17 7:16 pm
2.6.3mu,改了报错了,如何修改呢,楼主给最新版改下吧,谢谢。
2008-11-18 6:57 am
你能把错误提示给贴出来么,各人的环境不一样错误也可能不一样的
2008-11-18 11:38 am
fir2:
已经修改好了,经过测试可以正常显示
2008-11-24 8:39 pm
呵呵,看到你的修改了,我马上测试,谢谢!!!
2008-11-24 8:56 pm
按老大最新改的改了2.6.3mu的,还是出错:Parse error: syntax error, unexpected ‘:’ in D:\allmyweb\htdocs\wp-signup.php on line 352
也就是这一行:$active_url=’http://’.$domain.’/wp-activate.php?key=’.$bkey;
2008-11-25 8:48 am
呵呵,应该是某个符号不对,你参考一下我的文件:
http://www.foolpig.com/wp-content/uploads/wpmu.rar
2009-01-06 4:52 pm
我安装完wrokpress mu后 新注册用户和,也能收到邮件,但连接上后,登陆时,就无法找到内容, gu.9hipi.cn 哪位朋友帮我看下谢谢,
2009-01-06 4:52 pm
我安装完wrokpress mu后 新注册用户和,也能收到邮件,但连接上后,登陆时,就无法找到内容, gu.9hipi.cn 哪位朋友帮我看下谢谢,
2009-01-06 10:01 pm
@xing:
我估计你的这个问题是由于域名导致,不知道你使用的是subdirectory还是subdomain呢?
估计是subdomain,如果你没有设置泛域名的话,很难实现,建议改成subdirectory模式
2009-01-07 9:19 am
我只装了个workpress mu 别的什么也没装,是不是还要装别的东西啊,急啊,谢谢
2009-01-07 1:22 pm
不用啊,你安装wpmu的时候有个选择是是什么模式的,是subdirector还是subdomain
2009-01-07 3:34 pm
现在解觉了,Edit this file at wp-content/themes/home/home.php 我修改这个文件,写中文显示成乱码,我想修改一下默认页,楼上哥们这是怎么回事啊,谢谢
2009-01-07 3:37 pm
WordPress µ
This is a WordPress Mu powered site.
You can:
登录
Create a new blog
Edit this file at wp-content/themes/home/home.php with your favourite text editor and customize this screen.
The Latest News
Site News
Hello world!
Updated Blogs
想把这默认页修改成中文的,但写了中文就显不出来,什么办法可以啊,谢谢
2009-01-07 9:39 pm
乱码问题应该是编码造成的,不知道你编辑的时候采用的是用什么工具打开的
2009-01-08 9:34 am
wirkpress mu 模版中文的那里有啊, 上面不想看到英文字,不知道从哪找,在哪修改。。
2009-01-08 3:49 pm
这个好像没有,要改的话可以自己修改,不过修改的话要注意编码格式,否则会出现乱码
2009-01-08 4:59 pm
foolpig 上传照片总可以吧,
2009-01-09 8:30 am
上传照片??
2009-02-03 9:53 am
楼主,你的文章是我能找到的唯一一篇解决mu不能发邮件注册用户的文章,很感谢。我直接用你的两个文件,但是提交注册后总是无限期的等待,不报错也没反映,是不是Mu在做发送邮件的工作,我的服务器显然不能发邮件,有办法去除mu发邮件的功能吗?
2009-02-08 8:46 pm
@tony :
不好意思,放假才回来
我的这篇就是去除发邮件功能的哦
2009-02-14 9:38 am
楼主,你好,看了你的文章让我解决了很多问题,谢谢。
我这里有个问题请教一下,我的博客地址是http://mu.web-act.eu
点击注册时,总是该页无法显示,或刷新好多次才显示,不过就算显示注册页了填完内容一点创建又无法显示该页了,很奇怪,其余的登陆页什么的都没问题,就这个注册页有问题,如果是wp-signup.php的问题也不对啊,我本地测试一切正常,就是一传到服务器上就出现这个注册页问题了,请楼主帮下忙,万分感谢!
2009-02-14 5:35 pm
应该是PHP版本的问题,请问下你的是什么版本呢?建议使用PHP5
2009-02-17 4:42 pm
对不起,这两天有点事才看到您的回复了,如果是PHP版本的问题,那为什么只有注册页不显示,别的页都没问题呢?您看http://mu.web-act.eu这个网址了吗,就注册页有问题,经常找不到该页?期待你的帮忙。。。
2009-02-17 4:46 pm
我总结了:
1。否决是wp-signup.php文件的问题,因为本地测试一切正常。
2。应该也不是服务器的问题,要不怎么只这一个注册页有问题,别的页面都正常呢?
3。我都晕了N长时间了?楼主一定要帮忙。。。。
2009-02-18 1:46 pm
您可以先把php和web server的日志打开,查看一下,很奇怪的是注册页面找不到的信息
2009-02-19 7:10 pm
您知道怎么具体解决这个问题吗?从哪入手?怎么打开php和web server的日志?查看什么呢?
呵呵,这样聊太麻烦了,我QQ是187055141,有时间加我,具体聊一下吧,谢谢。
2009-02-23 8:27 am
web server的日志要看具体的设置到哪个目录,什么文件
php的错误打开可以在php.ini文件中:
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
2009-05-22 5:31 pm
没人成功过,我也是。。。