2015-03-19 130 views
0

我正在開發一個wordpress插件,並且需要獲取當前登錄到網站的所有用戶。我試圖如何在wordpress站點中獲取所有登錄用戶ID

function login($login, $user) { 

    //add new option to check whos online 
    $users = get_option('online-users', array()); 

    if (in_array($user->ID, $users)){ 
     return; 
    } 

    $users[] = $user->ID; 

    update_option( 'online-users', $users); 
} 
add_action('wp_login','login', 10, 2); 


function logout() { 
    $users = get_option('online-users', array()); 

    $user_id = get_current_user_id(); 

    if (! in_array($user_id, $users)){ 
     return; 
    } 

    update_option('online-users', array_diff($users , array($user_id))); 
} 
add_action('clear_auth_cookie', 'logout' , 10); 

此工作正常,如果用戶手動註銷,但如果用戶手動開不退出這個邏輯失敗,因爲WordPress的自動註銷閒置一段時間後用戶。

幫助我.. 謝謝..

+0

有關於wordpress的http://wordpress.stackexchange.com/子網站的問題 – tutankhamun 2015-03-19 08:04:15

回答

0

我affraid你不能。要正確跟蹤用戶活動,您應該將最後一個用戶操作(即瀏覽頁面)寫入自定義用戶元(或自定義數據庫表)。

相關問題