Bagaimana cara mendapatkan userid di wp_logout action hook?

8

Saya perlu melakukan pembersihan setelah pengguna keluar, jadi saya menambahkan kait tindakan wp_logout. Masalahnya adalah, wp_get_current_user () sudah mengembalikan null jika dipanggil dari dalam kait tindakan wp_logout. Bagaimana cara mendapatkan userid logout pengguna di dalam wp_logout action hook?

Davos Seaworth
sumber

Jawaban:

14

Bagaimana dengan mengaitkan 'clear_auth_cookie'dengan pembersihan yang perlu Anda lakukan? Jika Anda perlu lebih mendalam, Anda bisa langsung mengganti wp_clear_auth_cookie(), tetapi itu bisa menjadi masalah di mana itu akan bertentangan dengan plugin lain, jadi hindari itu jika memungkinkan.

mor7ifer
sumber
Terima kasih banyak! Ini persis apa yang saya cari.
Davos Seaworth
Ini bekerja dengan sempurna. Saya telah menggunakan pengait ini untuk plugin audit khusus, untuk merekam acara logout. Terima kasih.
julianm
-2

Saya tahu ini agak terlambat .... tetapi saya mengalami masalah ini sendiri. Ini adalah bagaimana saya menyelesaikan masalah.

Tambahkan berikut ini ke functions.php Anda

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

Ini pada dasarnya menyimpan userid dalam parameter url ketika pengguna logout.

Maka cukup dapatkan parameter dengan yang berikut:

$_GET['userid']

Saya harap ini membantu seseorang di masa depan yang menemukan pos ini.

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

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

gunakan ini di file utama plugin

sandeep
sumber
4
Karena OP menyatakan 'wp_get_current_user () sudah mengembalikan null jika dipanggil dari dalam kait tindakan wp_logout' - jadi ini tidak akan berfungsi.
marfarma