Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I would like to clear the session cookie when a user logs out or when their session expires. I understand that wp_clear_auth_cookie(); clears the cookie but I am struggling to understand how to implement it. I am using the following code to log a user out automatically if they are inactive for 10 minutes. (I think I found that in here too)

function myplugin_cookie_expiration( $expiration, $user_id, $remember ) {
    return $remember ? $expiration : 600;
}
add_filter( 'auth_cookie_expiration', 'myplugin_cookie_expiration', 99, 3 );

Could someone kindly direct me to the right direction to achieve this result?

share|improve this question
    
Maybe I got you wrong, but isn't that exactly what WP does when the current user is about to log out? Clearing the cookie, that is. –  t f Mar 14 '13 at 15:23
    
It only works if the user closes the browser and reopens it. If not it uses the same authentication cookie. That's what I'm trying to avoid. –  user1809542 Mar 23 '13 at 19:54
add comment

1 Answer

Try setting $experation to a negative integer:

function myplugin_cookie_expiration( $expiration, $user_id, $remember ) {
    return $remember ? $expiration : -600;
}
add_filter( 'auth_cookie_expiration', 'myplugin_cookie_expiration', 99, 3 );

From the w3schools PHP page on cookies:

<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.