在用户表Wordpress中添加新用户

时间:2011-09-20 07:07:59

标签: wordpress

我在主题中有一个自定义表,用于将用户数据添加到数据库。然后想通过自定义表将数据添加到数据库中。

    <form action="" method="post">
    <table>
      <tr>
        <td>User Name:</td>
        <td><input type="text" name="user"/> </td>
      </tr>
      <tr>
        <td>Pass word:</td>
        <td><input type="password" name="pass"/></td>
      </tr>
      <tr>
        <td>Website:</td>
        <td><input type="text" name="url"/></td>
      </tr>
    </table>
        <input type="submit" name="scroll_submit" />
        </form>


<?php 
if(isset($_POST['scroll_submit'])){
  $username = $_POST['user'];
  $pass = $_POST['pass'];
  $url = $_POST['url'];

   wp_insert_user(array(
    'user_pass'  => $pass,
    'user_login' => $username,
    'user_url' => $url
   ));
   }

我可以在用户表中添加1条记录,但不能在另一条记录中添加... 什么是问题PLZ帮助我..

1 个答案:

答案 0 :(得分:0)

怎么样......

 if(isset($_POST['scroll_submit'])){

   $username = $_POST['user'];
   $pass = $_POST['pass'];
   $url = $_POST['url'];
   // YOU NEED AN EMAIL ADDRESS TO CREATE AN ACCOUNT
   $useremail = sanitize_user($_POST['email']); 

   if($pass==''){
      // Generate random 12 Character password
      $pass = wp_generate_password( 12, false );
   }

   // Check if that username is taken already
   if ( username_exists( $username ) ){
     die("Im sorry that Username Is in Use! please choose another");
   }else{
     echo "Username is available...";
   }

   // CREATES WP USER ACCOUNT
   $user_id = wp_create_user( $username, $pass, $useremail );

   // SENDS EMAIL NOTIFICATION
   wp_new_user_notification($user_id, $pass); 

   // Use 'update_user_meta()' to add or update the user information fields.
   update_user_meta($user_id, 'user_url', $url );
   echo "New User Created ID: ".$user_id;
 }

这将检查密码,如果没有密码,则生成一个12个字符的随机密码,检查是否采用了该用户名...

创建新的wp用户帐户,向管理员发送电子邮件,让他们知道已创建新用户,使用用户名和密码向用户发送电子邮件,

使用用户的新ID号将用户信息添加到wp_user_meta表。

通用用户的数组将返回:

([ID] => 6
  [user_login] => MyUserName
  [user_pass] => $KJSHDFLUHWSEIFNPOSUDHVSJDN
  [user_nicename] => MyDisplayNicename
  [user_email] => Myemail@yourDomain.com
  [user_url] => 
  [user_registered] => 2011-09-20 10:00:00
  [user_activation_key] => 
  [user_status] => 0
  [display_name] => My Display Name
  [wp_capabilities] => Array
  (
    [subscriber] => 1
  )
  [jabber] => 
  [yim] => 
  [aim] => 
  [show_admin_bar_admin] => false
  [use_ssl] => 0
  [show_admin_bar_front] => true
  [admin_color] => fresh
  [comment_shortcuts] => false
  [rich_editing] => true
  [description] => 
  [nickname] => MyNickName
  [last_name] => 
  [first_name] => 
  [wp_user_level] => 0
  [user_level] => 0
  [user_firstname] => 
  [user_lastname] => 
  [user_description] => 
)

使用update_user_meta($ user_id,'WHATYOUWANTTOCHANGE',$ url); 只需用数组名称替换WHATYOUWANTTOCHANGE即:user_firstname 将为用户更新/添加名字......

update_user_meta($user_id, 'user_firstname', $firstname);
update_user_meta($user_id, 'user_lastname', $lastname);
update_user_meta($user_id, 'user_description', $user_desc);

浏览wp reference

还记得清理用户输入;避免任何SQL注入等, 永远不要相信任何用户输入......

始终stripslashesmysql_real_escape_stringhtmlspecialchars