Cum să obții ID-ul utilizatorului în acțiunea wp_logout?

22 ian. 2012, 19:07:38
Vizualizări: 15K
Voturi: 9

Am nevoie să efectuez unele operațiuni de curățare după ce un utilizator s-a deconectat, așa că am adăugat un hook la acțiunea wp_logout. Problema este că wp_get_current_user() deja returnează null dacă este apelat din interiorul hook-ului wp_logout. Cum pot obține ID-utilizatorului care se deconectează în interiorul unui hook wp_logout?

0
Toate răspunsurile la întrebare 3
2
17

Cum ar fi să folosești hook-ul 'clear_auth_cookie' pentru curățarea de care ai nevoie? Dacă ai nevoie de o soluție și mai avansată, poți înlocui direct funcția wp_clear_auth_cookie(), dar asta poate duce la conflicte cu alte plugin-uri, așa că evită această abordare dacă este posibil.

22 ian. 2012 19:12:59
Comentarii

Mulțumesc mult! Exact acesta lucru căutam.

Davos Seaworth Davos Seaworth
22 ian. 2012 19:26:00

A funcționat perfect. Am folosit acest hook pentru un plugin personalizat de audit, pentru a înregistra evenimentul de logout. Mulțumesc.

julianm julianm
6 feb. 2015 18:44:28
0
-1

Actualizare (ediția anterioară conținea inexactități):

După cum sugerează și codul sursă, acum poți folosi

function logout_redirect765($user_id){
    ...
}
add_action('wp_logout','logout_redirect765');
11 dec. 2013 14:46:53
1
-4
add_action('wp_logout', 'user_id');

function user_id()
{
    wp_get_current_user()->data->ID;
}

folosește acest cod în fișierul principal al plugin-ului

24 sept. 2012 08:41:35
Comentarii

După cum precizează OP, 'wp_get_current_user() returnează deja null dacă este apelat din interiorul hook-ului wp_logout' -- deci această soluție nu va funcționa.

marfarma marfarma
24 sept. 2012 09:52:45