当然了,此技巧在个人独立博客,并且不开放注册的情况下,没有多大用处,但是开放注册的情况下,还是非常有用的。接下来请看。

由于WP安全性的考虑和注册机制的作用下,通常在WordPress搭建的博客上注册会员的时候,默认都是让你填入用户名和邮箱地址,注册之后,然后系统随机生成密码,再将其发到你所填的邮箱中,可是在很多情况下,比如主机的邮件发送功能有问题,比如其他一些什么问题,在注册帐号之后去查收邮件,却并没有收到相应邮件,这样也就得不到密码,完不成注册了,同时从用户体验角度讲,注册后直接显示密码,对用户来说更方便,所以为了直接得到注册的密码,就在网上查找了一下资料,将注册流程做了一些改动:让用户注册后密码直接明文显示,取消用邮件将密码发送给用户,当然你也可以两个都用,但这里不做探讨,你可以自己试试。以下是我对WordPress2.8.4版本的用户注册做的修改,记录在这里,希望对大家有用。

首先打开用户注册程序”wp-login.php”,在程序在WordPress安装的根目录下。大概在269行找到 wp_new_user_notification($user_id, $user_pass);  将这一行代码注释掉,在这行代码和return $user_id;之间插入如下两句代码:

setcookie(”u”,$user_login);

setcookie(”user_pass”,$user_pass);

修改后的代码应该如下所示 (注意将其中的中文引号修改为英文引号):

// wp_new_user_notification($user_id, $user_pass);
setcookie(”u”,$user_login);

setcookie(”user_pass”,$user_pass);
return $user_id;

然后再在498(大概,有可能不一样)行找到:‘registered’ == $_GET[‘checkemail’],然后将这整行代码修改为(同样,注意将其中的中文引号修改为英文引号):

elseif ( isset($_GET[‘checkemail’]) && ‘registered’ == $_GET[‘checkemail’] ) $errors->add(‘registered’, __(‘恭喜您,注册成功<br/>用户名:’.$_COOKIE[‘u’].'<br />密&nbsp;&nbsp;&nbsp;码:’.$_COOKIE[‘user_pass’].'<br />(请登录后修改为容易记忆的密码)’));

将该文件另存为UTF-8编码形式,WordPress用户注册后密码明文显示,取消邮件发送的功能就算修改完成了。

另存为UTF-8方式:文件–另存为–文件编码 选择utf8 (不要使用windows 记事本)。

效果:

image

8 条评论

  • 万戈 2009/10/17 07:13 回复

    我的已经禁止注册了,呵呵

  • 浩子 2009/10/17 15:28 回复

    这个功能是相当的方便……

  • 一米 2009/10/18 00:04 回复

    @万戈
    恩,是的,我的也是,个人的又不需要注册评论,就干脆把注册关闭,还省事,呵呵。
    @浩子
    那是的,省的注册用户收不到邮件,使他们麻烦。

  • 重阳 2009/10/18 19:02 回复

    我的也是禁止注册了,做开放注册站的可以用到

  • 先看看 2009/10/18 20:12 回复

    我的也没有开放注册

  • 一米 2009/10/18 22:59 回复

    @重阳
    @先看看
    我的也是关闭注册的,哈哈,看来大部分都是关闭的啊,呵呵。 :smile:

  • yesureadmin 2010/11/30 20:21 回复

    看到这么人多禁止我也禁止吧

  • 一米 2010/11/30 21:22 回复

    @ yesureadmin
    那是,自己用的,干吗开放注册啊。

  • :arrow:
  • :grin:
  • :???:
  • :cool:
  • :cry:
  • :shock:
  • :evil:
  • :!:
  • :idea:
  • :lol:
  • :mad:
  • :mrgreen:
  • :neutral:
  • :?:
  • :razz:
  • :oops:
  • :roll:
  • :sad:
  • :smile:
  • :eek:
  • :twisted:
  • :wink: