1

WordPress 注册默认功能只有 3 个选项:

 <?php wp_create_user( $username, $password, $email ); ?>

如果我想添加一些其他文件,比如agesomtehing else! 使用书面 PHP 表单,我该怎么做?

wp_users有一些列,例如 user_login & user_email $ user_status. 我可以添加新列age吗?而且,如果可以的话,我怎样才能在 php 页面上注册它?

喜欢的功能:

wp_create_user( $username, $password, $email ,$age);

如果不可能,我该如何创建一个新表,例如wp_specialusers 使用 PHP 访问它,例如:

wpdb::query('insert something to wp_specialusers..?') or
mysql_query('insert ...')

我想要这样

<?php /* Template Name: wallet */ ?>
<?php get_header(); ?>
<form action=" --->WHERE!?<--- " method="post">
AGE : <input type="text" name="age">
<button type="submit">
</form>

很多

4

1 回答 1

0

您首先需要wp_create_user( $username, $password, $email )像原来一样使用该函数,然后您需要运行wp_update_user()函数以插入其他数据。附加数据列应该已经存在。如果您想添加自定义的附加用户数据,那么您应该使用插件,例如 AdvancedCustomFields

<?php
$user_id = // ID of the user you just created;

$website = 'http://example.com'; // additional data

$user_data = wp_update_user( 
   array( 
     'ID' => $user_id,
     'user_url' => $website
   )
);

if ( is_wp_error( $user_data ) ) {
    // There was an error; possibly this user doesn't exist.
    echo 'Error.';
} else {
    // Success!
    echo 'User profile updated.';
}
?>

更新:OP 想要在创建的同时插入额外的数据。

然后使用wp_insert_user()

// Extra info to add
$website = "http://example.com";
$nickname = "Superman";
$description = "My description."

$userdata = array(
    'user_login' =>  'login_name',
    'user_url'   =>  $website,
    'nickname'   =>  $nickname,
    'description'=>  $description,
    'user_pass'  =>  NULL // When creating an user, `user_pass` is expected.
);

$user_id = wp_insert_user( $userdata ) ;

// On success.
if ( ! is_wp_error( $user_id ) ) {
    echo "User created : ". $user_id;
}
于 2018-04-26T13:38:22.937 回答