Làm thế nào để có được userid tại hook hành động wp_logout?


8

Tôi cần thực hiện một số dọn dẹp sau khi người dùng đăng xuất, vì vậy tôi đã thêm một móc hành động wp_logout. Vấn đề là, wp_get_cản_user () đã trả về null nếu được gọi từ bên trong hook hành động wp_logout. Làm cách nào để tôi đăng xuất người dùng userid bên trong hook hành động wp_logout?

Câu trả lời:


14

Làm thế nào về hooking 'clear_auth_cookie'với việc làm sạch bạn cần phải làm gì? Nếu bạn cần độ sâu hơn nữa, bạn có thể hoàn toàn thay thế wp_clear_auth_cookie(), nhưng điều đó có thể gặp phải các vấn đề mà nó sẽ xung đột với các plugin khác, vì vậy hãy tránh điều đó nếu có thể.


Cảm ơn rât nhiều! Điều này thật đúng với gì mà tôi đã tìm kiếm.
Davos Seaworth

Điều này làm việc hoàn hảo. Tôi đã sử dụng hook này cho một plugin kiểm toán tùy chỉnh, để ghi lại sự kiện đăng xuất. Cảm ơn bạn.
julianm 6/2/2015

-2

Tôi biết điều này hơi muộn .... nhưng tôi đã gặp phải vấn đề này. Đây là cách tôi giải quyết vấn đề.

Thêm phần sau vào hàm của bạn.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');

Điều này về cơ bản lưu trữ userid trong một tham số url khi người dùng đăng xuất.

Sau đó, chỉ cần lấy tham số với các mục sau:

$_GET['userid']

Tôi hy vọng điều này sẽ giúp ai đó trong tương lai tìm thấy bài đăng này.


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

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

sử dụng cái này trong tập tin chính của plugin


4
Vì OP tuyên bố 'wp_get_cản_user () đã trả về null nếu được gọi từ bên trong hook hành động wp_logout' - vì vậy điều này sẽ không hoạt động.
marfarma
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.