好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

WordPress怎么添加前台注册功能 - WordPress

WordPress怎么添加前台注册功能

WordPress属于个人博客型的开源系统,是不是具备前台注册功能的,下面我来介绍自己给WordPress增加一个会员注册功能,有需要的朋友可参考.

一、添加注册表单

1、首先在当前主题的目录下新建一个php文件,命名为reg-page.php,然后将page.php中的所有代码复制到reg-page.php中;

2、删除reg-page.php开头的所有注释,即 /* 与 */,以及它们之间的所有内容;

3、搜索:the_content,可以查找到类似代码<?php the_content(); ?>,将其替换成代码一(注意使用UTF-8编码保存)

如果你在reg-page.php中找不到the_content,那么你可以查找:get_template_part,可找到类似代码:<?php get_template_part( 'content', 'page' ); ?>,将content-page.php中的所有代码替换这部分代码即可。再用下面的代码替换<?php the_content(); ?>

html代码如下:

<?php the_content(); ?>  <?php  if (! empty empty ( $error )) {    echo   '<p class="ludou-error">' . $error . '</p>' ;  }  if  (!is_user_logged_in()) { ?>  <form name= "registerform"  method= "post"  action= "<?php echo $_SERVER[" REQUEST_URI "]; ?>"   class = "ludou-reg" >      <p>        <label  for = "user_login" >用户名<br />          <input type= "text"  name= "user_login"  id= "user_login"   class = "input"  value= "<?php if(!empty($sanitized_user_login)) echo $sanitized_user_login; ?>"  size= "20"  />        </label>      </p>      <p>        <label  for = "user_email" >电子邮件<br />          <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>        <label  for = "user_pwd1" >密码(至少6位)<br />          <input id= "user_pwd1"   class = "input"  type= "password"  tabindex= "21"  size= "25"  value= ""  name= "user_pass"  />        </label>      </p>            <p>        <label  for = "user_pwd2" >重复密码<br />          <input id= "user_pwd2"   class = "input"  type= "password"  tabindex= "21"  size= "25"  value= ""  name= "user_pass2"  />        </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">您已注册成功,并已登录!</p>' ;  } ?> 

添加表单处理代码: 在reg-page.php开头处中,将第一个 <?php 改成代码二(注意使用UTF-8编码保存)

php代码如下:

<?php      if ( ! empty 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(  $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 );      }    }  } 

查看更多关于WordPress怎么添加前台注册功能 - WordPress的详细内容...

  阅读:60次