Remember Me Controls

Author:Scott Reilly
First released:2010-09-27
Last update:2015-02-23
Compatibility:WP 3.6 – 4.1.8
Download:[ zip ]

Have "Remember Me" checked by default on logins, configure how long a login is remembered, or disable the "Remember Me" feature al

Extended Description

Take control of the “Remember Me” feature for WordPress by having it enabled by default, customize how long users are remember, or disable this built-in feature by default.

For those unfamiliar, “Remember Me” is a checkbox present when logging into WordPress. If checked, WordPress will remember the login session for 14 days. If unchecked, the login session will be remembered for only 2 days. Once a login session expires, WordPress will require you to log in again if you wish to continue using the admin section of the site.

This plugin provides three primary controls over the behavior of the “Remember Me” feature:

  • Automatically check “Remember Me” : The ability to have the “Remember Me” checkbox automatically checked when the login form is loaded (it isn’t checked by default).
  • Customize the duration of the “Remember Me” : The ability to customize how long WordPress will remember a login session when “Remember Me” is checked.
  • Disable “Remember Me” : The ability to completely disable the feature, preventing the checkbox from appearing and restricting all login sessions to one day.

NOTE: WordPress remembers who you are based on cookies stored in your web browser. If you use a different web browser, clear your cookies, use a browser on a different machine, or uninstall/reinstall your browser then you will have to log in again since WordPress will not be able to locate the cookies needed to identify you.

Links: Plugin Homepage | Plugin Directory Page | Author Homepage

Find out more at the plugin’s WordPress Plugin Repository page.


Click to see full-size image.

  1. remember-me-controls screenshot 1

    A screenshot of the plugin’s admin settings page.

  2. remember-me-controls screenshot 2

    A screenshot of the login form with “Remember Me” checked by default

  3. remember-me-controls screenshot 3

    A screenshot of the login form with “Remember Me” removed


  1. Whether installing or updating, whether this plugin or any other, it is always advisable to back-up your data before starting
  2. Unzip inside the /wp-content/plugins/ directory (or install via the built-in WordPress plugin installer)
  3. Activate the plugin through the ‘Plugins’ admin menu in WordPress
  4. Go to “Settings” -> “Remember Me” and configure the settings

Frequently Asked Questions

Q. How long does WordPress usually keep me logged in?
A. By default, if you log in without “Remember Me” checked, WordPress keeps you logged in for up to 2 days. If you check “Remember Me”, WordPress keeps you logged in for up to 14 days.

Q. How can I set the session duration to less than an hour?
A. You can’t (and probably shouldn’t). With a session length of less than an hour you risk timing out users too quickly.

Release Log

1.5 (2015-02-22)

  • Add unit tests
  • Update plugin framework to 039
  • Explicitly declare activation() and uninstall() static
  • Reformat plugin header
  • Minor code reformatting (spacing, bracing)
  • Change documentation links to to be https
  • Minor documentation spacing changes throughout
  • Note compatibility through WP 4.1+
  • Update copyright date (2015)
  • Add plugin icon
  • Regenerate .pot

1.4 (2014-01-15)

  • Add ‘About’ section to help panel
  • Move descriptive text from top of settings page into ‘About’ section of help panel
  • Remove a bunch of pre-WP3.5 compatibility code
  • Update plugin framework to 037
  • Better singleton implementation:
    • Add get_instance() static method for returning/creating singleton instance
    • Make static variable ‘instance’ private
    • Make constructor protected
    • Make class final
    • Additional related changes in plugin framework (protected constructor, erroring __clone() and __wakeup())
  • Add checks to prevent execution of code if file is directly accessed
  • Use explicit path for require_once()
  • Discontinue use of PHP4-style constructor
  • Discontinue use of explicit pass-by-reference for objects
  • Minor documentation improvements
  • Minor code reformatting (spacing, bracing)
  • Note compatibility through WP 3.8+
  • Drop compatibility with version of WP older than 3.6
  • Update copyright date (2014)
  • Regenerate .pot
  • Change donate link
  • Update screenshots
  • Add banner


  • Use YEAR_IN_SECONDS and HOUR_IN_SECONDS constants instead of doing the time calculation
  • Add backwards compatibility for *_IN_SECONDS constants added to WP 3.5
  • Update plugin framework to 035
  • Discontinue use of explicit pass-by-reference for objects
  • Regenerate .pot
  • Re-license as GPLv2 or later (from X11)
  • Add ‘License’ and ‘License URI’ header tags to readme.txt and plugin file
  • Note compatibility through WP 3.5+
  • Update copyright date (2013)
  • Remove ending PHP close tag
  • Create repo’s assets directory
  • Move screenshots into repo’s assets directory


  • Add setting ‘remember_me_forever’ to allow user to forego having to make up a large number
  • Set a max expiration of 100 years in the future to prevent error if user supplies a high enough number to exceed the year 9999
  • Use pure JS instead of jQuery for checking checkbox
  • Hook into ‘login_footer’ action to output JS
  • Change hooking of ‘login_head’ to output CSS rather than calling login_head()
  • Remove login_head()
  • Allow setting minimum duration of 1 hour (as was documented)
  • Remove support for global $c2c_remember_me_controls variable
  • Update plugin framework to 031
  • Note compatibility through WP 3.3+
  • Drop compatibility with versions of WP older than 3.1
  • Create ‘lang’ subdirectory and move .pot file into it
  • Regenerate .pot
  • Update screenshot
  • Add screenshots 2 and 3
  • Add more description, FAQ question
  • Add link to plugin directory page to readme.txt
  • Update copyright date (2012)


  • Fix bug with missing remember_me_duration setting conversion from hours to seconds
  • Update plugin framework to version v023
  • Save a static version of itself in class variable $instance
  • Deprecate use of global variable $c2c_remember_me_controls to store instance
  • Fix to properly register activation and uninstall hooks
  • Add __construct(), activation(), uninstall()
  • Explicitly declare all class functions public
  • Note compatibility through WP 3.2+
  • Drop compatibility with versions of WP older than 3.0
  • Minor code formatting changes (spacing)
  • Minor readme.txt formatting changes
  • Fix plugin homepage and author links in description in readme.txt
  • Update copyright date (2011)


  • Fix bug where having “Remember Me” checked but having no remember me duration configured resulted in login error
  • Fix bug where incorrect number of arguments were requested from the ‘auth_cookie_expiration’ action


  • Initial release

Copyright & Disclaimer

Copyright © 2010-2015 by Scott Reilly (aka coffee2code)

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Discussion / Support

Have any questions, comments, or suggestions? Please provide them via the plugin’s support forum. I’ll do my best to reply in a timely fashion and help as best I can.

Unfortunately, I cannot provide guaranteed support, nor do I provide support via any other means.

Was this plugin useful useful to you? Consider giving it a rating. If you’re inclined to give it a poor rating, please first post to the support forum to give me a chance to address or explain the situation.