WordPress вставить нового пользователя в wp_users

Мне нужно создать нового пользователя в таблице 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;
    }

в вашем коде нет проблем. «$ userRow-> email» не получают никаких значений. Таким образом, он не вставляется в базу данных

charan kumar 23.10.2018 12:42

Да, мне любопытно, что вы видите, когда добавляете var_dump($userRow); wp_die(); в свою функцию, прежде чем пытаться вставить нового пользователя в БД. Посмотрев на этот дамп, вы узнаете, есть ли у вас данные, необходимые для создания нового пользователя ...

Mike C. 24.10.2018 18:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
825
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Используйте что-то вроде этого, чтобы создать пользователя в 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. Убедитесь, что эта переменная не может быть пустой.

Ravi Kumar 23.10.2018 13:02

попробуй это

$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') ) ;

Другие вопросы по теме