30

After a certain amount of time WP logs out all users and forces them to log back in again. For development environments on my local machine this is obnoxious and absolutely unnecessary.

Is there an API-driven way of disabling the auto-logout indefinitely? Ideally I'd like something I can add to wp-config.php along with other dev-setup-related settings.

A plugin would be overkill for me so I won't consider it an answer, but you might as well post it as an option.

0

3 Answers 3

31

By default, the "Remember Me" checkbox makes you get remembered for 14 days. This is filterable though.

This code will change that value:

add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );

function keep_me_logged_in_for_1_year( $expirein ) {
    return 31556926; // 1 year in seconds
}
7
  • 1
    This is exactly what I needed. I think a constant for this value would be really useful, but a filter is the next best thing. I could even use create_function() to do it on one line.
    – jerclarke
    Aug 19, 2010 at 1:40
  • 3
    create_function() is slow and makes it hard to remove the filter. It's best practice to use a function. :) Aug 19, 2010 at 22:46
  • You can even get a recent PHP version and write it as closure: php.net/manual/en/functions.anonymous.php - WordPress suppors that. Just don't stand in the way of your own and do not use create_function() any longer. It sucks.
    – hakre
    Aug 20, 2010 at 10:15
  • 2
    YEAR_IN_SECONDS can be used instead 31556926. There are other constants too. (See wp-includes/default-constants)
    – Upeksha
    Jan 18, 2013 at 4:21
  • 1
    @Upeksha: At the time this answer was written, those constants didn't exist. ;) You are correct though that now that they do, it would be better to use them. Jan 19, 2013 at 21:04
4

This has more to do with how you're browser stores cookies. When you login it should be saving the cookie and WordPress reads it to see if you're authenticated (at least that's what my understanind it).

On all local dev installs my username is admin and my password is admin. I don't find 8 letters to really be a big deal but maybe I type faster?

2
  • I use backups of the live databases, and in those I always have strong passwords on all admin accounts. I also often have different user names for different sites, and in many cases Firefox has trouble differentiating my different local installs for autocompletion purposes.
    – jerclarke
    Aug 19, 2010 at 1:46
  • Exactly, your browser settings will over write the remember me function. Dec 23, 2014 at 12:19
-3

Does this work, if you place it in wp-config.php?

function wp_validate_auth_cookie($cookie='',$scheme='') {
    return 1; // admin user id
}

Not thoroughly tested. It doesn't so much "never log me out" but rather "treat everyone as admin."

2
  • 5
    NEVER USE IN PRODUCTION!!! Sounds like a sandbox install. Aug 20, 2010 at 2:20
  • 2
    DONT DO IT or you will get quickly hacked!
    – T.Todua
    Jun 30, 2016 at 14:05

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