WordPress会员注册增加密码框

在WordPress中,默认情况下,用户注册时不会显示密码输入框,而是通过邮件发送随机生成的密码给用户。如果你希望用户在注册时能够自行设置密码,可以通过以下方法解决:

将以下代码加入网站根目录/wp-includes/functions.php 文件最后面

function show_extra_register_fields() {
    ?>
    <p>
        <label for="password">密码<br/>
            <input id="password" class="input" type="password" tabindex="30" size="25" value="" name="password" />
        </label>
    </p>
    <p>
        <label for="repeat_password">请重复密码<br/>
            <input id="repeat_password" class="input" type="password" tabindex="40" size="25" value="" name="repeat_password" />
        </label>
    </p>
    <?php
}
add_action('register_form', 'show_extra_register_fields');

function check_extra_register_fields($login, $email, $errors) {
    if ($_POST['password'] !== $_POST['repeat_password']) {
        $errors->add('passwords_not_matched', "<strong>错误</strong>:两次密码不一致");
    }
}
add_action('register_post', 'check_extra_register_fields', 10, 3);

function register_extra_fields($user_id) {
    $userdata = array();
    $userdata['ID'] = $user_id;
    if ($_POST['password'] !== '') {
        $userdata['user_pass'] = $_POST['password'];
    }
    wp_update_user($userdata);
}
add_action('user_register', 'register_extra_fields');