2015-03-19 4 views
0

Я разрабатываю плагин wordpress и должен получить всех пользователей, которые в настоящее время зарегистрированы на веб-сайте. Что я пытаюсьКак получить идентификатор пользователя в домене wordpress

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); 

Это прекрасно работает, если пользователь вручную логает, но если пользователь does't вручную логает эту логика терпит неудачу, потому что WordPress автоматически логает пользователь через некоторое время бездействия.

Помоги мне .. спасибо ..

+0

Существует http://wordpress.stackexchange.com/ subsite для вопроса о wordpress – tutankhamun

ответ

0

Я напуган, вы не можете. Чтобы правильно отслеживать активность пользователя, вы должны написать последние действия пользователя (например, просматривать страницы) в пользовательскую мета-таблицу (или пользовательскую таблицу db).

0

Проверьте этот сценарий WP для пользователей track online. Я надеюсь, что это сработает хорошо для вас

Смежные вопросы