Домой WordPress WordPress: Вопросы и ответы Добавление метаданных после регистрации
5ответ(ов) в теме
Андрей
не в сети 2 года
На сайте с 23.01.2019
Участник
Тем 22
Сообщения 97
1
18:27

add_action ('user_register','add_meta1');
function add_meta1() {
global $user_ID;
add_user_meta( $user_ID, $key_meta_1, $value_meta_1 );
}
Нужно добавить мета данные зарегистрированному пользователю сразу после регистрации (хук по user_register).

Почему-то не заработало. Подскажите что не так указал?

0
Вова (Otshelnik-Fm)
не в сети 6 дней
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18653
2
18:37

Здравствуйте.

Это не проблема плагина, а ваша задача.

В принципе вы работаете с ВП хуком user_register - этот вопрос к плагину WP-Recall имеет самое минимальное отношение, т.к хук из ядра вордпресс. Вы можете обратиться к документации вордпресс, чтобы понять какие атрибуты передает сам хук

Вы не можете просматривать опубликованные ссылки

Тему перенес.

Теперь к вопросу: $user_ID переменная содержит что-то?

$key_meta_1, $value_meta_1 - это что? Почему пустые? задайте вопрос тому источнику, откуда вы это взяли.
Почитайте описание функции add_user_meta

Вы не можете просматривать опубликованные ссылки

там и пример есть.

0
Андрей
не в сети 2 года
На сайте с 23.01.2019
Участник
Тем 22
Сообщения 97
3
10:50

Здравствуйте.
Да, верно, это вообщем-то вопрос по ВП.
Не совсем понял разницу между do_action и add_action. do_ запускается раньше (сразу, немедленно), чем add_ ?
Пока не могу разобраться с документацией по этому хуку.

$user_ID - глобальная переменная, ID только что зарегистрированного пользователя. Или я не прав и после регистрации ещё нет этой переменной с ID?
$key_meta_1, $value_meta_1 - значения есть, присваиваются в функции, просто для упрощения удалил из кода.
Прочитал ещё раз функцию add_user_meta. Всё верно, у меня так и написано.

0
Вова (Otshelnik-Fm)
не в сети 6 дней
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18653
4
10:56

Андрей сказал(а)
Не совсем понял разницу между do_action и add_action.

do_action - вызывает add_action.

Андрей сказал(а)
$user_ID - глобальная переменная

может и нет. Но зачем оно вам? по ссылке

Вы не можете просматривать опубликованные ссылки

там видно что хук передает id юзера

Андрей сказал(а)
Всё верно, у меня так и написано.

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

0
Андрей
не в сети 2 года
На сайте с 23.01.2019
Участник
Тем 22
Сообщения 97
5
12:52

Разобрался. Спасибо, что навели на правильный путь!

Если кому пригодится, то привожу правильный код:

add_action('user_register','add_meta1');  
// Запускаем функцию add_meta1 (хук) после регистрации нового пользователя  'user_register'.
function add_meta1($new_user_id) {  // хук возвращает id зарегистрированного пользователя в $new_user_id
    $key_meta_1  = "pogoda";  // Название Мета поля 1
    $meta_value1 = "Солнце";  // значение для поля key_meta_1
    add_user_meta( $new_user_id, $key_meta_1, $meta_value1 );  // Записываем новому пользователю в дополнительное поле pogoda значение "Солнце".
}

Редакции сообщения
15.03.2019 12:59Otshelnik-FmПричина: подправил код. оформил в теги "код"
1
Тема закрыта. Публикация новых сообщений запрещена.