Домой Wp-Recall WP-Recall: Проблемы и решения Не записываются мета поля юзера с названием равным id поля профиля в базу данных после инсерта
6ответ(ов) в теме
PiBot
не в сети 3 недели
На сайте с 30.04.2022
Участник
Тем 2
Сообщения 6
1
01:21
Версия WP-Recall: 16.26.3

Приветствую всех! Итак проблема в следующем:
Имеется поле профиля созданное в wp-recall с id=user_phone_number
При регистрации создаю юзера через wp_insert_user. В передаваемых этой функции данных указываю мета поле 'user_phone_number' => $phone ну собственно поле в базу сразу не встает, оно появляется когда юзер попал в профиль и там же появляется это поле с пустым значением. Несколько раз протестировал создавая поля с другими id и с таким же названием пробовал вставлять в БД при создании юзера, но результат тот же. Форма регистрации кастомная. Что это за беда? 🙂

0
Preci
не в сети 4 часа
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1582
2
08:36

Показывайте как вы конкретно указываете мета поле в wp_insert_user

0
PiBot
не в сети 3 недели
На сайте с 30.04.2022
Участник
Тем 2
Сообщения 6
3
08:45

$userdata = [ 'user_pass' => $password, 'user_login' => $user_login, 'user_nicename' => '', ...... 'meta_input' => [ 'user_birthday' => $user_birthday, 'user_phone_number' => $phone, ], ]; wp_insert_user($userdata);

0
Preci
не в сети 4 часа
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1582
4
09:41

А поле user_birthday сохраняется?

Вам надо проверить есть ли вообще что то в $phone перед добавлением, может там проблема. Ну и посмотреть в самой базе появляется ли это мета поле, может быть в профиле оно не показывается из-за не соответствия формату

0
PiBot
не в сети 3 недели
На сайте с 30.04.2022
Участник
Тем 2
Сообщения 6
5
12:31

Preci сказал(а)
А поле user_birthday сохраняется?

Вам надо проверить есть ли вообще что то в $phone перед добавлением, может там проблема. Ну и посмотреть в самой базе появляется ли это мета поле, может быть в профиле оно не показывается из-за не соответствия формату

Да поле user_birthday создается, но если создать в wp-recall поле профиля с таким же id=user_birthday, то и оно будет так же пропускаться. Переменная $phone не пустая, проверено на соседних полях, ради интереса записывал эту переменную в разные поля. Суть в том, что заранее созданное поле в профиле, отобразится при попадании в профиль, но с пустым значение, а если его заполнить и обновить профиль, то и в базе данных у этого пользователя появится в метаполях ожидаемый user_phone_number. Формат поля пробовал задавать разный, не помогло. Складывается ощущение, что при создании юзера через wp_insert_user, wp-recall перехватывает это поле и такой говорит, эээ тормози я сам это поле создам, а ты создавай без этого поля 🙂

0
Preci
не в сети 4 часа
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1582
6
13:01

Нет wp_recall такого не делает. Если после создания юзера вы уверены что в базе данных в таблице мета полей появляется ваше значение для поля user_phone_number, значит скорее всего проблема в формате данных.

Какой тип поля в recall вы выбрали? Если "телефон", то попробуйте изменить его на "текст" и посмотреть будет ли оно отображаться в профиле

0
Вы не имеете права на публикацию сообщений в этой теме