регистрация пользователей WordPress дополнительные поля с PHP - PullRequest
0 голосов
/ 26 апреля 2018

Функция регистрации WordPress по умолчанию имеет всего 3 опции:

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

Если я хочу добавить некоторые другие поля, например age или somtehing 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>

tnx много

1 Ответ

0 голосов
/ 26 апреля 2018

Сначала вам нужно использовать функцию 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;
}
...