Comment obtenir l'ID utilisateur au crochet d'action wp_logout?


8

Je dois effectuer un nettoyage après la déconnexion d'un utilisateur, j'ai donc ajouté un hook d'action wp_logout. Le problème est que wp_get_current_user () renvoie déjà null s'il est appelé à partir du hook d'action wp_logout. Comment obtenir l'ID utilisateur de déconnexion des utilisateurs dans un hook d'action wp_logout?

Réponses:


14

Que diriez-vous d'accrocher 'clear_auth_cookie'avec le nettoyage que vous devez faire? Si vous avez besoin de plus de profondeur, vous pouvez le remplacer purement et simplement wp_clear_auth_cookie(), mais cela peut entraîner des problèmes où il entrera en conflit avec d'autres plugins, évitez donc cela si possible.


Merci beaucoup! Ceci est exactement ce que je cherchais.
Davos Seaworth

Cela a parfaitement fonctionné. J'ai utilisé ce hook pour un plugin d'audit personnalisé, pour enregistrer l'événement de déconnexion. Je vous remercie.
julianm

-2

Je sais que c'est un peu tard ... mais j'ai rencontré ce problème moi-même. C'est ainsi que j'ai résolu le problème.

Ajoutez ce qui suit à vos fonctions.php

function logout_redirect765(){
  $current_user = wp_get_current_user(); 
  wp_redirect( home_url().'/?userid='.$current_user->ID ); 
  exit; 
}
add_action('wp_logout','logout_redirect765');

Cela stocke essentiellement l'ID utilisateur dans un paramètre d'URL lorsque l'utilisateur se déconnecte.

Ensuite, obtenez simplement le paramètre avec ce qui suit:

$_GET['userid']

J'espère que cela aidera quelqu'un à l'avenir qui trouvera ce message.


-3
add_action('wp_logout', 'user_id');

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

utiliser ceci dans le fichier principal du plugin


4
Comme l'OP indique que 'wp_get_current_user () retourne déjà null s'il est appelé depuis le hook d'action wp_logout' - donc cela ne fonctionnera pas.
marfarma
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.