如何在wp_logout动作钩子上获取用户ID?


8

用户注销后,我需要执行一些清除操作,因此我添加了wp_logout操作钩子。问题是,如果从wp_logout操作挂钩中调用wp_get_current_user(),则已经返回null。如何在wp_logout操作挂钩中获取注销用户userid?

Answers:


14

'clear_auth_cookie'上您需要做的清洁怎么样?如果您需要更深入的知识,则可以完全替换wp_clear_auth_cookie(),但这可能会与其他插件发生冲突,因此请尽可能避免这种情况。


非常感谢你!这正是我在寻找的东西。
达沃斯·西沃思2012年

这工作得很好。我已将此钩子用于自定义审核插件,以记录注销事件。谢谢。
julianm 2015年

-2

我知道这有点晚了....但是我自己遇到了这个问题。这就是我解决问题的方式。

将以下内容添加到您的functions.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');

当用户注销时,这基本上将userid存储在url参数中。

然后只需使用以下命令获取参数:

$_GET['userid']

希望这对以后找到此帖子的人有所帮助。


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

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

在插件主文件中使用它


4
由于OP状态“如果从wp_logout操作挂钩中调用,则wp_get_current_user()已经返回null”-因此这将不起作用。
marfarma 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.