Итак, я написал эту функцию отчетов, которая должна отображать first URL the user has visited after logging in.
Я получаю такой URL: "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"
Я использую это с wp_login hook и просто сохраняю в db.
Возможно, есть ловушка, которая срабатывает сразу после wp_login?






Вы можете использовать ловушку wp_login, чтобы пользователь вошел в систему по первому URL-адресу. Пожалуйста, поместите код в ваш файл functions.php.
function your_function( $user_login, $user ) {
// your code
if ( ! session_id() ) {
session_start();
}
$_SESSION['counter'] = 1;
$_SESSION['visited_url'] = "http://".$_SERVER['HTTP_HOST']."/".$_SERVER['REQUEST_URI'];
}
add_action('wp_login', 'your_function', 10, 2);
if ( ! session_id() ) {
session_start();
}
if (is_user_logged_in()){
if (isset($_SESSION['counter']) && $_SESSION['counter'] >=2){
echo $_SESSION['visited_url'];
}else{
$_SESSION['counter'] = $_SESSION['counter']+1;
$_SESSION['visited_url'] = "http://".$_SERVER['HTTP_HOST']."/".$_SERVER['REQUEST_URI'];
}
}
Как работает этот код:
Шаг 1: После входа пользователя в систему мы устанавливаем counter и visited_url в сеансе.
Шаг 2: проверьте переменную counter в сеансе и больше равной 2.
Шаг 3: Если это соответствует условию, мы печатаем первый посещенный URL.
На моей стороне рабочий код.
Спасибо, цените это.
Я думаю, вы определяете contants как $ counter = 0; и увеличить $ counter, если он / она успешно вошли в систему.