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.

up vote 25 down vote accepted

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
}
  • 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 '10 at 1:40
  • 2
    create_function() is slow and makes it hard to remove the filter. It's best practice to use a function. :) – Viper007Bond Aug 19 '10 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 '10 at 10:15
  • 1
    YEAR_IN_SECONDS can be used instead 31556926. There are other constants too. (See wp-includes/default-constants) – Upeksha Jan 18 '13 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. – Viper007Bond Jan 19 '13 at 21:04

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?

  • 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 '10 at 1:46
  • Exactly, your browser settings will over write the remember me function. – Brad Dalton Dec 23 '14 at 12:19

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."

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

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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