Домой Каталог: Дополнения WP-Recall Partners System Получение данных из таблицы партнерки
8ответ(ов) в теме
Андрей
не в сети 2 года
На сайте с 23.01.2019
Участник
Тем 22
Сообщения 97
1
16:39
Версия WP-Recall: 16.18.6
Версия дополнения: 1.17.0

Что-то я туплю и никак не могу понять в чём дело... Помогите найти ошибку.
В своем дополнении к WP-Recall в index.php вызываю функцию после регистрации нового пользователя:
add_action( 'user_register', 'save_info1' );

далее переходим к функции:

function save_info1($user_id){
    $sqlps = "SELECT * FROM wp_8513_prt_partners WHERE referal='$user_id' ORDER BY ID DESC";
    $resps = $wpdb->get_results($sqlps, ARRAY_A);
    $nst_ps= $resps[0];           

    if ($nst_ps['partner'] > 99) {
        $nast_id  = $nst_ps['partner'];
        $usernast = get_userdata($nast_id);
        // ... мой код - запись данных в свою таблицу.

        }
}

Так вот в функции не получается войти в if. Смотрю массив $nst_ps - а он пустой оказывается. Даже если действительно пользователь зарегился по партнерке и у него наставник с id больше 99.
$user_id существует, проверял.

Редакции сообщения
28.02.2020 16:40АндрейПричина: не указано
28.02.2020 16:41АндрейПричина: не указано
0
Андрей CS
не в сети 20 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16864
2
16:48

Добрый день.
Скорее всего, ваша функция отрабатывает еще до того, как пользователь был зарегистрирован в качестве реферала, пробуйте делать это позже, указав приоритет для экшна:

add_action( 'user_register', 'save_info1', 100 );

Для получения id партнера определенного пользователя можно использовать функцию
ps_get_partner($user_id)

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

А можно сделать так?
add_action( 'user_register', 'save_info1');
add_action( 'user_register', 'save_info2', 100 );

0
Андрей CS
не в сети 20 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16864
4
18:27

можно, хотя я не вижу в этом какого то смысла, но вам виднее)

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

Андрей CS сказал(а)
Для получения id партнера определенного пользователя можно использовать функцию

ps_get_partner($user_id)

Если пользователь зарегистрировался не по партнерке, то что выдаст функция вместо id наставника?

0
Андрей CS
не в сети 20 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16864
6
19:03

вернет false или null, надо уточнить

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

Но если сделать такое условие:

$nst_id = ps_get_partner($user_id);
if ($nst_id > 0) {
...
}

то не важно что возвращает. В любом случе, если будет id наставника, то будет вход в условие.
Правильно?

Редакции сообщения
28.02.2020 19:12АндрейПричина: не указано
0
Андрей CS
не в сети 20 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16864
8
19:33

да, сработает

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