Задать вопрос
@Denis9999

Как в wordpress проверить авторизован ли пользователь с другого компьютера?

Как в wordpress проверить авторизован ли пользователь с другого компьютера по id пользователя? Есть функция is_user_logged_in() , но она не подходит, так как проверяет заход текущего пользователя. А нужно, например, по id пользователя понять авторизован ли он.
  • Вопрос задан
  • 254 просмотра
Подписаться 2 Средний Комментировать
Решения вопроса 1
V_A_B
@V_A_B
¯\_(ツ)_/¯
$sessions=WP_Session_Tokens::get_instance(1);
$all_sessions=$sessions->get_all();
var_dump($all_sessions);


spoiler

смотрите нужные ключи и обрабатывайте по вкусу

63ca8c5bbe093208611957.jpeg


Запретить вход с нескольких устройств/браузеров
add_filter('wp_authenticate_user','VAB_one_session_per_user',10,2);
if(!function_exists('VAB_one_session_per_user')){
	function VAB_one_session_per_user($user,$password){
		$sessions=WP_Session_Tokens::get_instance($user->ID);
		$all_sessions=$sessions->get_all();
		if(count($all_sessions)){
			$user=new WP_Error('already_signed_in','<strong>'.esc_html__('ОШИБКА','VAB').'</strong>: '.esc_html__('Пользователь уже вошел в систему','VAB'));}
			return $user;}}


Совершать выход на других устройствах/браузерах при входе

...
 $sessions=WP_Session_Tokens::get_instance($user->ID);
 $sessions->destroy_all();
...

Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Justik99
@Justik99
Изучаю WordPress путем поломок своей психики!
Сравнивать IP адреса текущий сессии и прошлой.
Если я правильно тебя понял
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы