Добрый вечер, делаю реферальную систему на сайте, но почему-то она работает как-то криво.
Через get запрос забираю ник-реферер в сессию и отдаю её в переменную(пока писал, понял что это и может быть ошибкой).
if (isset($_GET['referal'])) {
session_save_path(ROOT.SLASH.'.sid');
session_start();
$referal = $_GET['referal'];
$_SESSION['save_referal'] = $referal;
}
$ref_name = $_SESSION['save_referal'];
Регистрация идёт через woocommerce, ловлю её хуком в function.php, возможно есть сам хук регистрации?
А то я делаю это после оплаты.
add_action( 'woocommerce_order_status_completed', 'referral_users' );
function referral_users($ref_name){
// Данные для линка тут есть
$link = mysqli_connect($host, $user, $password, $database)
or die("Ошибка " . mysqli_error($link));
$query = "UPDATE wp_users SET user_invited ='$ref_name'";
$s1 = mysqli_query($link, $query);
mysqli_close($link);
}
Вроде как и передал переменную в функцию, залил её в бд, но в бд появляется вместо никнейма-реферера - номер заказа, не пойму как это работает, почему передаётся именно он?
И где я допустил ошибку?