Cum să distrugi sesiunile utilizatorilor pe baza ID-ului lor în WordPress

14 apr. 2015, 13:25:39
Vizualizări: 14.9K
Voturi: 7

Doresc să deconectez programatic un utilizator specific din sistemul nostru WordPress pe baza ID-ului său, similar cu funcționalitatea butonului "Deconectează din toate sesiunile" din secțiunea de editare a utilizatorului WordPress.

Cum pot realiza acest lucru?

0
Toate răspunsurile la întrebare 1
4
19

OK, soluție simplă după ce am cercetat codul WordPress.

// obține toate sesiunile pentru utilizatorul cu ID $user_id
$sessions = WP_Session_Tokens::get_instance($user_id);

// avem sesiunile, distruge-le pe toate!
$sessions->destroy_all();

Aceasta va deconecta utilizatorul cu ID-ul $user_id din WordPress.

Caz de utilizare: Cazul meu de utilizare pentru aceasta este atunci când un utilizator este aprobat prin moderare, dar apoi situația se schimbă și acesta este respins, fiind 'eliminat' din sistem dacă are orice sesiuni de login active.

14 apr. 2015 13:36:47
Comentarii

doar o întrebare legată de asta. Dacă am obține toți utilizatorii într-un array, apoi ne-am exclude pe noi înșine din array (de exemplu user id 1), apoi am parcurge array-ul, ar funcționa în functions.php sau ar exista un hook mai bun?

markb markb
3 nov. 2016 03:18:17

@Ahhhhhhhhhhhhhdfgbv vrei să deconectezi pe toată lumea de pe acest site anume?

Chris Chris
7 nov. 2016 18:28:20

a funcționat perfect. Mulțumesc

Debbie Kurth Debbie Kurth
5 oct. 2021 08:16:10

@DebbieKurth - minunat, mă bucur că încă este relevant, codebase-ul WordPress nu s-a schimbat prea mult! :)

Chris Chris
5 oct. 2021 10:53:03