Come ottenere l'ID utente con l'hook wp_logout in WordPress?

22 gen 2012, 19:07:38
Visualizzazioni: 15K
Voti: 9

Devo eseguire alcune operazioni di pulizia dopo che un utente ha effettuato il logout, quindi ho aggiunto un hook wp_logout. Il problema è che wp_get_current_user() restituisce già null se chiamato dall'interno dell'hook wp_logout. Come posso ottenere l'ID dell'utente che sta effettuando il logout all'interno di un hook wp_logout?

0
Tutte le risposte alla domanda 3
2
17

Che ne dici di agganciare 'clear_auth_cookie' con la pulizia che devi fare? Se hai bisogno di ancora più profondità, puoi sostituire completamente wp_clear_auth_cookie(), ma questo potrebbe causare problemi dove entrerà in conflitto con altri plugin, quindi evitalo se possibile.

22 gen 2012 19:12:59
Commenti

Grazie mille! Questo è esattamente quello che stavo cercando.

Davos Seaworth Davos Seaworth
22 gen 2012 19:26:00

Ha funzionato perfettamente. Ho usato questo hook per un plugin di audit personalizzato, per registrare l'evento di logout. Grazie.

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

Aggiornamento (la modifica precedente conteneva imprecisioni):

Come suggerisce anche il codice sorgente, ora puoi utilizzare

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

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

usa questo nel file principale del plugin

24 set 2012 08:41:35
Commenti

Come afferma l'OP 'wp_get_current_user() restituisce già null se chiamato all'interno dell'hook di azione wp_logout' -- quindi questo non funzionerà.

marfarma marfarma
24 set 2012 09:52:45