Cómo obtener el ID de usuario en el hook de acción wp_logout en WordPress

22 ene 2012, 19:07:38
Vistas: 15K
Votos: 9

Necesito realizar algunas tareas de limpieza después de que un usuario cierra sesión, así que agregué un hook de acción wp_logout. El problema es que wp_get_current_user() ya devuelve null si se llama desde dentro del hook wp_logout. ¿Cómo puedo obtener el ID del usuario que está cerrando sesión dentro de un hook wp_logout?

0
Todas las respuestas a la pregunta 3
2
17

¿Qué tal si enganchas 'clear_auth_cookie' con la limpieza que necesitas hacer? Si necesitas aún más profundidad, puedes reemplazar directamente wp_clear_auth_cookie(), pero eso puede causar problemas donde entrará en conflicto con otros plugins, así que evítalo si es posible.

22 ene 2012 19:12:59
Comentarios

¡Muchas gracias! Esto es exactamente lo que estaba buscando.

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

Esto funcionó perfectamente. He utilizado este hook para un plugin de auditoría personalizado, para registrar el evento de cierre de sesión. Gracias.

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

Actualización (la edición anterior contenía imprecisiones):

Como sugiere también el código fuente, ahora puedes usar

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 esto en el archivo principal del plugin

24 sept 2012 08:41:35
Comentarios

Como el OP afirma 'wp_get_current_user() ya devuelve null si se llama desde dentro del hook de acción wp_logout' -- así que esto no funcionará.

marfarma marfarma
24 sept 2012 09:52:45