如何自定义wordpress 注册页面

2018-11-02    来源:学做网站论坛

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

使用wordpress 建网站,程序自带有注册页面,但很难满足我们自己建网站的需求。我们在做网站时,如何自定义wordpress 注册页面呢?下面就是自定义wordpress 注册页面的方法。

先看下制作好的wordpress 注册页面的效果:
自定义wordpress 注册页面

自定义wordpress 注册页面的步骤

第一步:新建一个HTML空白页面,在HTML页面中,粘贴以下HTML代码,用于显示用户输入框。


<?php get_header();?>
<div class="con">
      <div class="zhuce">
      <?php the_content(); ?>
<?php if(!empty($error)) {
echo '<p class="ludou-error">'.$error.'</p>';
}
if (!is_user_logged_in()) { ?>
<div class="top1">
        <h2>注册账户</h2>
        <div class="txt">欢迎您注册<?php bloginfo('name'); ?> 【官网】会员,如果您已拥有账户,则可在此 <a href="<?php echo get_option('home'); ?>/">首页登录</a></div>
    </div>
<form name="registerform" method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?>" class="ludou-reg">
<p class="zc00">
<label for="user_login">用户昵称:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="user_login" id="user_login" class="input" value="<?php if(!empty($sanitized_user_login)) echo $sanitized_user_login; ?>" size="20" />&nbsp;&nbsp;<span style="color:#900">长度为6~16位字符</span>
</label>
</p>
<p class="zc00">
<label for="user_pwd1">设置密码:&nbsp;&nbsp;&nbsp;&nbsp;<input id="user_pwd1" class="input" type="password" tabindex="21" size="25" value="" name="user_pass" />&nbsp;&nbsp;<span style="color:#900">长度为6~16位字符,可以为“数字/字母/中划线/下划线”组成</span>
</label>
</p><p class="zc00">
<label for="user_pwd2">确认密码:&nbsp;&nbsp;&nbsp;&nbsp;<input id="user_pwd2" class="input" type="password" tabindex="21" size="25" value="" name="user_pass2" />
</label>
</p>
<p class="zc00">
<label for="user_email">电子邮件:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="user_email" id="user_email" class="input" value="<?php if(!empty($user_email)) echo $user_email; ?>" size="25" />
</label>
</p>

<p class="submit">
<input type="hidden" name="ludou_reg" value="ok" />
<input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="立即注册" />
</p>
</form>
<?php } else {
echo '<p class="ludou-error">您已注册成功,并已登录!<a style="color:red;" href="/">返回首页</a></p>';
} ?></div>
?   <div class="clear h10"></div>
</div>
<?php get_footer();?>

第二步:将第一步的HTML页面进行保存,取名为reg.php;

第三步:使用以下的PHP代码替换掉reg.php中的

<?php get_header();?>

,作用是为了验证用户填写的信息。


<?php
/*
Template Name: 网站注册页面
* 代码来源:学做网站论坛 https://www.xuewangzhan.com/
*/
if( !empty($_POST['ludou_reg']) ) {
$error = '';
$sanitized_user_login = sanitize_user( $_POST['user_login'] );
$user_email = apply_filters( 'user_registration_email', $_POST['user_email'] );
// Check the username
if ( $sanitized_user_login == '' ) {
$error .= '<strong>错误</strong>:请输入用户名。<br />';
} elseif ( ! validate_username( $sanitized_user_login ) ) {
$error .= '<strong>错误</strong>:此用户名包含无效字符,请输入有效的用户名<br />。';
$sanitized_user_login = '';
} elseif ( username_exists( $sanitized_user_login ) ) {
$error .= '<strong>错误</strong>:该用户名已被注册,请再选择一个。<br />';
}
// Check the e-mail address
if ( $user_email == '' ) {
$error .= '<strong>错误</strong>:请填写电子邮件地址。<br />';
} elseif ( ! is_email( $user_email ) ) {
$error .= '<strong>错误</strong>:电子邮件地址不正确。!<br />';
$user_email = '';
} elseif ( email_exists( $user_email ) ) {
$error .= '<strong>错误</strong>:该电子邮件地址已经被注册,请换一个。<br />';
}// Check the password
if(strlen($_POST['user_pass']) < 6)
$error .= '<strong>错误</strong>:密码长度至少6位!<br />';
elseif($_POST['user_pass'] != $_POST['user_pass2'])
$error .= '<strong>错误</strong>:两次输入的密码必须一致!<br />';if($error == '') {
$user_id = wp_create_user( $sanitized_user_login, $_POST['user_pass'], $user_email );

if ( ! $user_id ) {
$error .= sprintf( '<strong>错误</strong>:无法完成您的注册请求... 请联系<a href=\"mailto:%s\">管理员</a>!<br />', get_option( 'admin_email' ) );
}
else if (!is_user_logged_in()) {
$user = get_userdatabylogin($sanitized_user_login);
$user_id = $user->ID;

// 自动登录
wp_set_current_user($user_id, $user_login);
wp_set_auth_cookie($user_id);
do_action('wp_login', $user_login);
}
}
}get_header();?>

第四步:将下面的CSS代码粘贴到 get_header();?> 的下面,用于控制wordpress注册页面的样式。


<style>
.zc00{margin:15px 0;}
.zhuce{    width: 860px;
?   margin: 0 auto;
?   padding: 30px 30px 40px;
?   background: #fff;
?   border: 1px solid #e0e0e0;
?   border-radius: 8px;}
.zhuce input{    width: 280px;
?   height: 35px;
?   margin-right: 10px;
?   padding: 0 10px;
?   line-height: 30px;
?   border: 0;
?   background-image: url(<?php bloginfo('template_directory'); ?>/images/userlog_input_bg.png);
?   font-size: 14px;
?   font-family: Verdana;}
.zhuce input[type="submit"]{width: 119px;
?   height: 37px;
?   background-image: url(<?php bloginfo('template_directory'); ?>/images/userlog_btn_bg.png);
?   border: 0;
?   color: #fff;
?   font-size: 14px;
?   font-weight: bold;
?   font-family: "微软雅黑";
?   cursor: pointer;
    margin-left:120px;
}
.top1 {
?   margin-bottom: 40px;
?   padding-bottom: 12px;
?   border-bottom: 1px dashed #dadada;}
    .top1 h2 {
?   font-size: 20px;
?   color: #9C0;
    margin-bottom:10px;
}
.mainbody .txt {
?   margin-top: 8px;
?   color: #999;
}
</style>

第五步:将所有的改动全部保存。然后在wordpress网站后台,新建一个页面,标题写“用户注册”,模板选择“网站注册页面”,然后创建,这样一个自定义的wordpress注册页面就制作好了。结合制作WP网站的登录功能,就可以完美的给自己的网站制作出注册和登录页面了。

下面是完整的wordpress注册页面的代码:


<?php
/*
Template Name: 网站注册页面
* 代码来源:学做网站论坛 https://www.xuewangzhan.com/
*/
if( !empty($_POST['ludou_reg']) ) {
$error = '';
$sanitized_user_login = sanitize_user( $_POST['user_login'] );
$user_email = apply_filters( 'user_registration_email', $_POST['user_email'] );
// Check the username
if ( $sanitized_user_login == '' ) {
$error .= '<strong>错误</strong>:请输入用户名。<br />';
} elseif ( ! validate_username( $sanitized_user_login ) ) {
$error .= '<strong>错误</strong>:此用户名包含无效字符,请输入有效的用户名<br />。';
$sanitized_user_login = '';
} elseif ( username_exists( $sanitized_user_login ) ) {
$error .= '<strong>错误</strong>:该用户名已被注册,请再选择一个。<br />';
}
// Check the e-mail address
if ( $user_email == '' ) {
$error .= '<strong>错误</strong>:请填写电子邮件地址。<br />';
} elseif ( ! is_email( $user_email ) ) {
$error .= '<strong>错误</strong>:电子邮件地址不正确。!<br />';
$user_email = '';
} elseif ( email_exists( $user_email ) ) {
$error .= '<strong>错误</strong>:该电子邮件地址已经被注册,请换一个。<br />';
}// Check the password
if(strlen($_POST['user_pass']) < 6)
$error .= '<strong>错误</strong>:密码长度至少6位!<br />';
elseif($_POST['user_pass'] != $_POST['user_pass2'])
$error .= '<strong>错误</strong>:两次输入的密码必须一致!<br />';if($error == '') {
$user_id = wp_create_user( $sanitized_user_login, $_POST['user_pass'], $user_email );

if ( ! $user_id ) {
$error .= sprintf( '<strong>错误</strong>:无法完成您的注册请求... 请联系<a href=\"mailto:%s\">管理员</a>!<br />', get_option( 'admin_email' ) );
}
else if (!is_user_logged_in()) {
$user = get_userdatabylogin($sanitized_user_login);
$user_id = $user->ID;

// 自动登录
wp_set_current_user($user_id, $user_login);
wp_set_auth_cookie($user_id);
do_action('wp_login', $user_login);
}
}
}get_header();?>
<style>
.zc00{margin:15px 0;}
.zhuce{    width: 860px;
?   margin: 0 auto;
?   padding: 30px 30px 40px;
?   background: #fff;
?   border: 1px solid #e0e0e0;
?   border-radius: 8px;}
.zhuce input{    width: 280px;
?   height: 35px;
?   margin-right: 10px;
?   padding: 0 10px;
?   line-height: 30px;
?   border: 0;
?   background-image: url(<?php bloginfo('template_directory'); ?>/images/userlog_input_bg.png);
?   font-size: 14px;
?   font-family: Verdana;}
.zhuce input[type="submit"]{width: 119px;
?   height: 37px;
?   background-image: url(<?php bloginfo('template_directory'); ?>/images/userlog_btn_bg.png);
?   border: 0;
?   color: #fff;
?   font-size: 14px;
?   font-weight: bold;
?   font-family: "微软雅黑";
?   cursor: pointer;
    margin-left:120px;
}
.top1 {
?   margin-bottom: 40px;
?   padding-bottom: 12px;
?   border-bottom: 1px dashed #dadada;}
    .top1 h2 {
?   font-size: 20px;
?   color: #9C0;
    margin-bottom:10px;
}
.mainbody .txt {
?   margin-top: 8px;
?   color: #999;
}
</style>
<div class="con">
      <div class="zhuce">
      <?php the_content(); ?>
<?php if(!empty($error)) {
echo '<p class="ludou-error">'.$error.'</p>';
}
if (!is_user_logged_in()) { ?>
<div class="top1">
        <h2>注册账户</h2>
        <div class="txt">欢迎您注册<?php bloginfo('name'); ?> 【官网】会员,如果您已拥有账户,则可在此 <a href="<?php echo get_option('home'); ?>/">首页登录</a></div>
    </div>
<form name="registerform" method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?>" class="ludou-reg">
<p class="zc00">
<label for="user_login">用户昵称:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="user_login" id="user_login" class="input" value="<?php if(!empty($sanitized_user_login)) echo $sanitized_user_login; ?>" size="20" />&nbsp;&nbsp;<span style="color:#900">长度为6~16位字符</span>
</label>
</p>
<p class="zc00">
<label for="user_pwd1">设置密码:&nbsp;&nbsp;&nbsp;&nbsp;<input id="user_pwd1" class="input" type="password" tabindex="21" size="25" value="" name="user_pass" />&nbsp;&nbsp;<span style="color:#900">长度为6~16位字符,可以为“数字/字母/中划线/下划线”组成</span>
</label>
</p><p class="zc00">
<label for="user_pwd2">确认密码:&nbsp;&nbsp;&nbsp;&nbsp;<input id="user_pwd2" class="input" type="password" tabindex="21" size="25" value="" name="user_pass2" />
</label>
</p>
<p class="zc00">
<label for="user_email">电子邮件:&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="user_email" id="user_email" class="input" value="<?php if(!empty($user_email)) echo $user_email; ?>" size="25" />
</label>
</p>


<p class="submit">
<input type="hidden" name="ludou_reg" value="ok" />
<input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="立即注册" />
</p>
</form>
<?php } else {
echo '<p class="ludou-error">您已注册成功,并已登录!<a style="color:red;" href="/">返回首页</a></p>';
} ?></div>
?   <div class="clear h10"></div>
</div>
<?php get_footer();?>

标签: 代码 电子邮件 建网站 网站制作

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:如何修改WordPress网站默认登录地址wp-admin

下一篇:wordpress判断第一篇文章应用不同的样式