wp_logout Not Logging Me Out

Here is what I’m doing:

wp_logout();
var_dump(is_user_logged_in());

var_dump returns:

Read More
bool(true)

Why is wp_logout() not logging me out?

Related posts

Leave a Reply

2 comments

  1. wp_logout() calls clear_auth_cookie(), which expires all authorization cookies set. It doesn’t change the value of the global $current_user variable. So technically you’re still logged in for the duration of the script.

    If you’re using wp_logout in your own code, its probably best to exit or wp_redirect immediately afterwards.

    You can call wp_set_current_user(0) after wp_logout() to manually log the user out instantly, if you need to continue executing PHP but don’t want the user to be logged in

  2. I had same problem with my code. I was trying to logout by using wp_logout() but It wasn’t working perfectly as per my need because of some code changes so I used wp_destroy_current_session(); and then wp_redirect(); and exit();

        wp_destroy_current_session();
        wp_logout();
        wp_redirect(site_url()); 
        exit();
    

    And it woked for me.
    you can also use
    auth_redirect();
    instead of wp_redirect(site_url()); and also in my case wp_set_current_user(0); was also not working if used before redirect as it was setting user 0 active