Intereting Posts
Добавить переменную в wp_enqueue_script скрипт url Как я могу отображать пользовательские типы сообщений под несколькими видами? Измените «Просмотр» в панели администратора для пользовательской таксономии Ограничить доступ Пользователям-подписчикам к доступу к интерфейсу Исключить пользователя из потока действий в BuddyPress? Как показать название категории? Динамически обновлять адрес сайта / WordPress Почему мой плагин был отклонен из репозитория WordPress.org? Запретить выбранные условия подниматься до вершины Печать всей страницы? Фильтр «the_content» поставляет пустую строку с lengh (608) Как эффективно решить проблему установки WordPress локально для каждого нового проекта? Почему я не могу набрать открывающие и закрывающие скобки на вкладке Visual? Уведомлять после 3,6,9, а затем через 12 месяцев после активации плагина Пользовательские сообщения для заказа от meta_value

wp_insert_user не создает учетную запись правильно, когда ID установлен вручную

Итак, я пытаюсь создать новую учетную запись пользователя с помощью wp_insert_user на основе учетных данных, которые я получаю из профиля пользователя Facebook. Я хочу, чтобы новый идентификатор учетной записи пользователя совпал с идентификатором учетной записи Facebook (например: 1352348133).

Если я установил параметр ID на странице справки WordPress wp_insert_user, учетная запись пользователя не будет создана в wp_users как и следовало ожидать, однако все соответствующие метаданные вставлены в таблицу wp_usermeta . Если я удалю параметр ID из массива, который я wp_insert_user в wp_insert_user он создаст новую запись в wp_users как это обычно wp_insert_user .

Я ожидал получить ошибку возврата, но на самом деле возвращает вновь созданный идентификатор пользователя при успешном завершении. Вот пример кода, который я передаю:

 $insert_user = wp_insert_user(array( 'ID' => 1352348133, 'user_login' => 'jdizzle', 'user_nicename' => 'jdizzle', 'user_url' => 'https://www.facebook.com/jdizzle', 'first_name' => 'Jared', 'last_name' => 'Eitnier', 'display_name' => 'Jared Eitnier', 'nickname' => 'jdizzle', 'user_registered' => date('Ymd H:i:s'), 'role' => 'customer' )); 

и возвращаемое значение

 1352348133 

Я думал, может быть, auto_increment в поле ID в wp_users может повлиять на что-то, но отключить это не повлияло. Типизация как int имела никакого эффекта. Длина int не является проблемой.

Solutions Collecting From Web of "wp_insert_user не создает учетную запись правильно, когда ID установлен вручную"

Согласно документации WordPress , если идентификатор пользователя переходит к функции wp_insert_user() , он попытается изменить пользователя с этим идентификатором, если он существует, но новый пользователь не будет создан. Вы можете сохранить идентификатор facebook как user_meta.