乐于分享
好资源不私藏

WordPress注册页面增加密码输入框

在网站根目录找到wp-login.php文件,这里以我的WordPress5.8.1版本为例!直接拉到994行处,就可以看到我们要修改的代码了。

将下面的代码覆盖进去:

		<form name="registerform" id="registerform" action="<?php echo esc_url( site_url( 'wp-login.php?action=register', 'login_post' ) ); ?>" method="post" novalidate="novalidate">
			<p>
				<label for="user_login"><?php _e( 'Username' ); ?></label>
				<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr( wp_unslash( $user_login ) ); ?>" size="20" autocapitalize="off" placeholder="用户名不支持中文"/>
			</p>
			<p>
				<label for="user_email"><?php _e( 'Email' ); ?></label>
				<input type="email" name="user_email" id="user_email" class="input" value="<?php echo esc_attr( wp_unslash( $user_email ) ); ?>" size="25"placeholder="输入邮箱地址" />
			</p>
			<!--WordPress注册页面增加密码输入-->
			<p>
            <label for="password"><?php _e( '密码', 'ugp-domain' );?><br/>
            <input id="password" class="input" type="password" tabindex="30" size="25" value="" name="password" placeholder="最少8位密码" /></label>
            </p>
            <p>
            <label for="repeat_password"><?php _e( '确认密码', 'ugp-domain' );?><br/>
            <input id="repeat_password" class="input" type="password" tabindex="40" size="25" value="" name="repeat_password"placeholder="再次输入密码"  /></label>
            </p>
            <!--WordPress注册页面增加密码输入结束-->

如图:

添加完了之后保存到wp-login.php,我们来看一下效果图:

 

接着就是主题修改了

我们这里已经修改完了,接下来修改主题文件里面的主要文件functions.php,然后拉到最下面,放在 ?> 这个符号的前面即可。代码如下:

//自定义注册页面
add_action( 'register_post', 'ts_check_extra_register_fields', 10, 3 );
function ts_check_extra_register_fields($login, $email, $errors) {
if ( $_POST['password'] !== $_POST['repeat_password'] ) {
$errors->add( 'passwords_not_matched', "<strong>提示</strong>: 两次输入的密码不一致,请重新输入。" );
}
if ( strlen( $_POST['password'] ) < 8 ) {
$errors->add( 'password_too_short', "<strong>提示</strong>: 密码最少要输入8位,请重新输入密码。" );
}
}
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 );
}
add_filter( 'gettext', 'ts_edit_password_email_text' );
function ts_edit_password_email_text ( $text ) {
if ( $text == 'A password will be e-mailed to you.' ) {
$text = 'If you leave password fields empty one will be generated for you. Password must be at least eight characters long.';
}
return $text;
}

保存后即可看到效果!

未经允许不得转载:9i资源网 » WordPress注册页面增加密码输入框

评论 抢沙发

评论前必须登录!