Как получить ID пользователя в хуке wp_logout?

22 янв. 2012 г., 19:07:38
Просмотры: 15K
Голосов: 9

Мне нужно выполнить некоторую очистку после выхода пользователя, поэтому я добавил хук wp_logout. Проблема в том, что wp_get_current_user() уже возвращает null, если вызывается из хука wp_logout. Как получить ID выходящего пользователя внутри хука wp_logout?

0
Все ответы на вопрос 3
2
17

Как насчёт использования хука 'clear_auth_cookie' для выполнения необходимых очисток? Если вам нужна более глубокая интеграция, вы можете полностью заменить функцию wp_clear_auth_cookie(), но это может привести к конфликтам с другими плагинами, поэтому по возможности лучше избегать этого подхода.

22 янв. 2012 г. 19:12:59
Комментарии

Большое спасибо! Именно это я и искал.

Davos Seaworth Davos Seaworth
22 янв. 2012 г. 19:26:00

Это сработало идеально. Я использовал этот хук для своего плагина аудита, чтобы записывать событие выхода из системы. Спасибо.

julianm julianm
6 февр. 2015 г. 18:44:28
0
-1

Обновление (предыдущая правка содержала неточность):

Как показывает исходный код, теперь можно использовать

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

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

используйте этот код в основном файле плагина

24 сент. 2012 г. 08:41:35
Комментарии

Как указал автор вопроса, 'wp_get_current_user() уже возвращает null, если вызывается из хука wp_logout' — поэтому это не сработает.

marfarma marfarma
24 сент. 2012 г. 09:52:45