让wordpress mu新用户注册后的密码明文显示,取消邮件通知

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行:

  1. function confirm_blog_signup($domain, $path, $blog_title, $user_name, $user_email, $meta) {
  2.  
  3. //增加下面三行:
  4.   global $wpdb;
  5. $bkey=$wpdb->get_var("SELECT activation_key FROM wp_signups WHERE user_login = '$user_name'");
  6.  
  7. $active_url='http://' . $domain . '/wp-activate.php?key=' . $bkey;
  8.  
  9. //找到<?php printf(__('Check your inbox at %s and click the link given. ‘), $user_email) ?>
  10.  
  11. //在后面增加如下的内容
  12. <p><?php
  13. printf(__('Check this link <a href="%1$s">%2$s</a> is active and click the link given.  '),$active_url,$active_url)  ?>
  14. </p>

2、修改wp-activete.php文件:
 大概在55行,也就是if( $signup->domain . $signup->path == ” )的else部分修改为:

  1. 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/
如果你对本文感兴趣,欢迎订阅我的博客

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

30 Responses so far

You can leave a response or Trackback this entry .
  1. 镜花水月 Says:

    那位朋友就是我,我真的是太感动了,小刀帮我解决了好多好多的问题,555555555555

  2. foolpig Says:

    @镜花水月:
    ^_^
    相互学习嘛

  3. 问题 Says:

    替换代码后出错,实现不了
    foolpig可否测试一下呢?
    急用,谢谢

  4. foolpig Says:

    不知道出错的什么状况?
    可否详细说明一下?

  5. 笨&猪 | A foolman, a foolpig » 解决wordpress mu 收不到邮件问题 Says:

    [...] 我以前写过一篇文章《让wordpress mu新用户注册后的密码明文显示,取消邮件通知》 [...]

  6. dreamer Says:

    1.5版的没有这些代码吧

  7. foolpig Says:

    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’);
    }

    这部分内容前面即可

  8. seo土坷垃 Says:

    非常感谢。
    老外的东西就是很烦,啥东西都的修改。不像国内程序,都是现成的。
    哎,不懂代码的人,用着头疼。

  9. Benson Says:

    您好!! 我按照您的方式修改了两个php文件,可是只显示了类似http://gfdfg.me2live.cn/wp-activate.php?key=89a4bd0b55d5f95d的激活码,但是点击激活码无法找到页面~~请问怎么解决呢~~~谢谢师兄~~ 希望您能邮件我答案~~~~~

  10. foolpig Says:

    @Benson:

    您好,不知道您的邮件是多少?您能不能把您修改过的wp-activete.php和wp-signup.php这两个文件发给我看看吗?
    我的邮件地址是:fpig@foolpig.com或者bbaizz@gmail.com都可

  11. Benson Says:

    好的~~我马上给你~~

  12. foolpig Says:

    @Benson:
    不好意思啊,我目前没测试环境,争取尽快给您看看

  13. Benson Says:

    谢谢你啊!!! 我的wpmu大环境已经快好了!! 就差注册功能了! 我怎么弄都不可以!! 对了!! 还有, 我用您修改的邮箱注册。也收不到邮件呢!我用的163的邮箱,文件应该也设置好了!! 可就是收不到!!

  14. foolpig Says:

    @Benson:
    我刚测试过,用你的那两个文件,我可以看到点击激活的链接后能看到用户名和密码,不知道您那的wpmu是什么版本?另外系统环境是什么样的,比如操作系统,php版本,是使用的apache还是其他的web server

    wpmu默认注册邮件是可以收到的,不知道您试过的结果怎样,我的那个方法主要是针对部分邮件服务器的问题,你可以尝试一下

  15. foolpig Says:

    另外,你看下错误日志,如有可能贴出那个页面打不开时候的日志给我看下

  16. Benson Says:

    错误日志在哪里?

  17. Benson Says:

    我做了一个探测~~把截图给您了!!

  18. foolpig Says:

    我发现了一个问题,就是你采用的注册后用户的域名是me2live.cn的二级域名,也就是说乳沟我注册了个test的用户,那么我的博客就是test.me2live.cn,不知道这个域名是否能正常工作呢?

    我建议还是采用sub directory方式比较好,也就是所用户的域名是http://me2live.cn/test
    这样你试试

  19. Benson Says:

    师兄~~我发现问题所在了~~~ 比方说我建立 blog名称benson, 那么在收到激活连接后,点击,出现的连接是benson.域名/wp-activate.php?key=2a13a728579bb427 (http://benson.me2live.cn/wp-activate.php?key=2a13a728579bb427)之类的~~~ 只要我把前边的benson.去掉就可以连接到激活页面得到密码了~~~请问这是什么问题? 怎么解决?

  20. Benson Says:

    又出现一个问题~~得到密码后无法登陆~~输入后无法找到页面~~~地址还是类似benson.域名。。。。。。

  21. foolpig Says:

    这个问题我上面已经说了,是你的博客建立的是subdomain方式,而你实际没有泛域名的设置
    所以我建议你设置成subdirectory方式

  22. foolpig Says:

    如果要更改成subdirectory的方式,恐怕比较困难,我在后台没有找到选项,在数据库中也没有找到相应的字段

    我想到的只有一个办法,重新安装一遍,还好你现在的内容不多,都只是测试的内容

    你把数据库备份一下,还有主题也备份一份

    这个subdomain安装的你也不用删除,也先备份一下,万一要用可以直接拿过来

    重新按照subdirectory方式安装后导入数据库,和设置一下主题,应该可以的

    至于jmail这个我没有用过呢

    你先测试一下,如果万一不行的话还是在用户注册后直接显示用户名和密码为妥

  23. Benson Says:

    <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里边找到的!!!好像非常重要~~这里应该告诉了写入的地方

  24. foolpig Says:

    我找到办法了
    你修改下wp-config.php文件的:
    define(’VHOST’, ‘yes’);

    修改成define(’VHOST’, ‘no’);

    就应该可以了

    ^_^

  25. 笨猪 | A foolman, a foolpig » wordpress mu在subdirectory和subdomain方式之间切换 Says:

    [...] 今天Benson的一席话使我在黑暗中找到了一丝方向(请见让文章《wordpress mu新用户注册后的密码明文显示,取消邮件通知》中的Benson的评论) [...]

  26. Benson Says:

    哈哈!!! 经过大家的努力~~~终于成功了阿~~~这种方法应该还没有人研究出来呢把~~~~ 我们推广一下吧!!!!! 师兄!! 等我的博客做好了我们作连接哦!!! 加油!!!

  27. foolpig Says:

    好的啊 ^_^

    我新写了篇文章:http://www.foolpig.com/2008/06/27/wordpress-mu-sub/

    就是关于这个问题的

    :)

  28. ifree Says:

    你好 我刚装的WMU2.6 mail问题搞了好久都解决不了 麻烦你能帮我改下吗 我给你发EMAIL了 希望能加你QQ 我被WMU2.6搞的好郁闷 新手刚接触 谢谢

  29. foolpig Says:

    @ifree:
    您可以参考我的另一片文章

    http://www.foolpig.com/2008/05/23/wordpress-mu-sendmail/

    我给您回邮件了,请查收一下

  30. 深圳瑜伽 Says:

    你好哇!你的博客很漂亮哇!!
    来踩踩喇!
    我是深圳的哟!

Leave a Reply

:grin: 点击插入更多表情 »