Wordpress $ current_user возвращается пустым - PullRequest
2 голосов
/ 05 марта 2020

Я пытаюсь работать с сессиями в WordPress, он работает при первом входе в систему, но если я выйду из системы и войду снова, $ current_user-> user_login возвращает пустое значение, может кто-нибудь помочь?

function register_session(){
    if(!session_id()){
        session_start();
    }
}
add_action('init','register_session');
function create_session(){
    global $current_user;
    $_SESSION['user'] = $current_user->user_login;
}
add_action('wp_login', 'create_session');

function finish_session(){
    session_destroy();
}
add_action('wp_logout', 'finish_session');

1 Ответ

0 голосов
/ 06 марта 2020

похоже, что я использовал неправильные хуки, я изменил код и теперь он работает, оставляя код здесь, если кому-то нужно.

function register_session(){
    if( !session_id() ){
        session_start();
    }
    $id = get_current_user_id();
    $user = get_userdata($id);
    $_SESSION["user"] = $user->user_login;
}
add_action('init','register_session');


//--------------finish the session after logout----------------------------
function finish_session() {
    session_destroy();
}
add_action('wp_logout', 'finish_session');
...