Мне нужно создать нового пользователя в таблице wp_users, но ни wp_create_user, ни wp_insert_user не работали. Я пытаюсь таким образом, но пользователь не вставлен.
$newUser = $wpdb->insert(
'wp_users',
array(
'user_login' => $userRow->email,
'user_pass' => $userRow->password,
'user_nicename' => $userRow->firstname,
'user_email' => $userRow->email,
'user_url' => '',
'user_registered' => $userRow->registration,
'user_status' => 0,
'display_name' => $userRow->firstname
)
);
if (!$newUser) {
echo '<script>alert("User has not been created.")</script>';
return;
}
Да, мне любопытно, что вы видите, когда добавляете var_dump($userRow); wp_die(); в свою функцию, прежде чем пытаться вставить нового пользователя в БД. Посмотрев на этот дамп, вы узнаете, есть ли у вас данные, необходимые для создания нового пользователя ...






Используйте что-то вроде этого, чтобы создать пользователя в WP
Убедитесь, что ваша переменная имеет значения
$username = $userRow->email;
$email = $userRow->email;
$password = $userRow->password;
$user = wp_insert_user(array(
'user_login' => $username,
'user_email' => $email,
'user_pass' => $password,
));
if ( !is_wp_error( $user ) ){
} else {
// success message
}
Вы пытались распечатать переменные thease перед вставкой кода $ userRow-> email, $ userRow-> password. Убедитесь, что эта переменная не может быть пустой.
попробуй это
$WP_array = array (
'user_login' => 'username',
'user_email' => 'emailID',
'user_pass' => 'Password',
) ;
$id = wp_insert_user( $WP_array ) ;
// if you want to add role to user
wp_update_user( array ('ID' => $id, 'role' => 'editor') ) ;
в вашем коде нет проблем. «$ userRow-> email» не получают никаких значений. Таким образом, он не вставляется в базу данных