当前位置: 首页 > wordpress > 正文
avatar

在wordpress中如果开放用户注册,当用户注册的时候,只需要填写用户名和邮箱,密码通过电子邮件发送到用户的 […]

在wordpress中如果开放用户注册,当用户注册的时候,只需要填写用户名和邮箱,密码通过电子邮件发送到用户的邮箱里面,这个过程不是十分的友好,我们应该从这里进一步的提高用户体验,那么在wordpress注册页面用户能不能直接输入密码呢?

我不知道这样的设计处于什么目的,但是却容易流失客户,在国内很少有用户会去查阅邮箱里面的内容,甚至都不会使用邮箱,对于聊天即时通讯软件就能够办到了,为什么还要用邮箱呢,今天就给大家分享一个在wordpress注册页面用户直接输入密码和添加验证码的方法。
一、添加文本框

首先我们会使用一个add_action函数给注册页面添加输入文本框:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//给注册页面添加输入文本框
add_action( 'register_form', 'wenshuo_register_fields' );
function wenshuo_register_fields(){
?>
    <p>
    <label for="password">密码<br/>
    <input id="password" class="input" type="password" value="" name="password" />
    </label>
    </p>
    <p>
    <label for="repeat_password">确认密码<br/>
    <input id="repeat_password" class="input" type="password" value="" name="repeat_password" />
    </label>
    </p>
<?php
}

二、验证密码

检查用户的输入,两次输入的密码是否一致

1
2
3
4
5
6
7
//检查用户输入
add_action( 'register_post', 'wenshuo_check_register_fields', 10, 3 );
function wenshuo_check_register_fields($login, $email, $errors) {
if ( $_POST['password'] !== $_POST['repeat_password'] ) {
$errors-&gt;add( 'passwords_not_matched', "<strong>错误</strong>: 两次输入的密码不一致" );
}
}

三、储存密码

1
2
3
4
5
6
7
8
9
10
//储存用户提交的密码
add_action( 'user_register', 'ts_register_extra_fields', 100 );
function ts_register_extra_fields( $user_id ){
$userdata = array();
$userdata['ID'] = $user_id;
if ( $_POST['password'] !== '' ) {
$userdata['user_pass'] = $_POST['password'];
}
$new_user_id = wp_update_user( $userdata );
}

四、处理文本

1
2
3
4
5
6
7
8
//隐藏那句“密码将会通过电子邮件发给你”
add_filter( 'gettext', 'wenshuo_edit_password_email_text' );
function wenshuo_edit_password_email_text ( $text ) {
if ( $text == '注册确认将通过电子邮件发送给您。' ) {
$text = '';
}
return $text;
}

将以上代码添加到functions.php文件中即可,最终的效果如下图所示:

五、添加用户注册成功后自动登录

1
2
3
4
5
6
7
8
9
10
// 用户注册成功后自动登录,并跳转到指定页面
function auto_login_new_user( $user_id ) {
wp_set_current_user($user_id);
wp_set_auth_cookie($user_id);
// 可以将home_url()改成你指定的URL
// 如 wp_redirect( ‘http://www.nygzs.cn/blog’ );
wp_redirect( home_url() );
exit;
}
add_action( ‘user_register’, ‘auto_login_new_user’ );

六、插件实现
如果您不会编程或者怕编写错误,您可以使用插件的方法给wordpress注册页面用户直接输入密码和添加验证码:

下载地址:
文件信息:
文件名称:
分类目录:
更新时间:
下载地址:http://www.solagirl.net/file/33
分享:
---------WwW.13qing.com---------
猜你也喜欢的:

wordpress-使用自定义密码注册:等您坐沙发呢!

发表评论