shadowxak
Ответы в темах
-
Форум: Проблемы и решения
Тема: Реферальная система при регистрацииСделал все через куки 🙂
как причешу скину код, для сообществаФорум: Проблемы и решения
Тема: Реферальная система при регистрацииТак же возможно глаз замылился и я явно не вижу ошибки 🙁
Форум: Проблемы и решения
Тема: Реферальная система при регистрацииВсяко пробовал, но ничего не получается.
Рефка: http://mysite.ru/wp-login.php?action=register&sponsor=shadowxak
Приведу код полностью функции в шаблоне:<?php add_action('register_form','show_fields'); add_action('register_post','check_fields',10,3); add_action('user_register', 'register_fields'); function show_fields() { ?> <p> <label>Дата рождения<br/> <input id="date_of_birth" class="input" type="date" value="<?php echo $_POST['date_of_birth']; ?>" name="date_of_birth" /></label> </p> <p> <label>Номер сотового(+70000000000)<br/> <input id="mobile" class="input" type="text" value="<?php echo $_POST['mobile']; ?>" name="mobile" /></label> </p> <p> <label>Вас пригласил:<br/> <input id="sponsor" class="input" type="text" value="<?php echo $_GET['sponsor'] ?>" name="sponsor" disabled="disabled" /></label> </p> <?php } function check_fields ( $login, $email, $errors ) { global $date_of_birth, $mobile, $sponsor; if ($_POST['date_of_birth'] == ''){ $errors->add( 'empty_realname', "ОШИБКА: Не указана дата рождения?" ); } else { $date_of_birth = $_POST['date_of_birth']; } if ($_POST['mobile'] == ''){ $errors->add( 'empty_realname', "ОШИБКА: Не указан номер телефона?" ); } else { $mobile = $_POST['mobile']; } if ($_POST['sponsor'] == ''){ $errors->add( 'empty_realname', "ОШИБКА: Не указан пригласитель!" ); } else { $sponsor = username_exists($_POST['sponsor']); } } function register_fields($user_id,$password= "",$meta=array()){ $refer = username_exists($_POST['sponsor']); update_user_meta( $user_id, 'date_of_birth', $_POST['date_of_birth'] ); update_user_meta( $user_id, 'mobile', $_POST['mobile'] ); update_user_meta( $user_id, 'sponsor', $refer ); }
Мое предположение вот какое:
При нажатии кнопки зарегистрироваться в функцию check_fields параметр $_POST[‘sponsor’] не передается, полагаю что из-за того что в функции show_fields я его обрабатываю GET запросом из командной строки, а после нажатии зарегистрироваться параметр из строки пропадает и POST из формы не передает и не обрабатывает срабатывает «ОШИБКА: Не указан пригласитель!» и естественно регистрация не происходит.Полагаю необходимо для успешного выполнения сохранять реферальную ссылку в строке браузера, но как это реализовать не меняя движек не знаю.
Форум: Проблемы и решения
Тема: Реферальная система при регистрацииСпасибо буду пробовать