Description
Ever wished that your WordPress login page matched the rest of your site? Your wish has come true! Theme My Login allows you to bypass the default WordPress-branded login page that looks nothing like the rest of your site. Instead, your users will be presented with the login, registration and password recovery pages right within your theme. The best part? It works right out of the box, with no configuration necessary! Take back your login page, WordPress users!
Features
- Have you users log in from the frontend of your site.
- Have your users register from the frontend of your site.
- Have your users recover their password from the frontend of your site.
- Customize the slugs used for login, registration, password recovery and other pages.
- Allow your users to register with only their email.
- Allow your users to set their own passwords upon registration.
- Allow your users to log in using either their email and password, username and password or a combination of the two.
- Allow your users to be logged in automatically after registration with auto-login.
Do More With Extensions
Boost your user experience even more with add-on plugins from our extensions catalog. Some of our extensions include:
- Redirection allows you to redirect your users on login, logout and registration based on their role.
- Restrictions allows you to restrict posts/pages, widgets and nav menu items based on a users login status and/or role.
- Profiles lets your users edit their profile from the frontend of your site.
- Moderation allows you to moderate your users by requiring them to confirm their email or by requiring admin approval.
- reCAPTCHA enables Google reCAPTCHA support for your registration and login forms.
- Social allows you to allow your users to log in to your site using their favorite social providers.
Installation
- Upload the plugin files to the
/wp-content/plugins/theme-my-logindirectory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress
FAQ
-
Where can I find documentation?
-
Documentation can be found on our documentation site.
-
Where can I find support?
-
Support can be found using our support form.
-
Where can I report a bug?
-
Report bugs, suggest ideas and participate in development at GitHub.
Reviews
Contributors & Developers
“Theme My Login” is open source software. The following people have contributed to this plugin.
Contributors“Theme My Login” has been translated into 25 locales. Thank you to the translators for their contributions.
Translate “Theme My Login” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
7.2.2
- Stop a lost password request from overwriting an account’s password on multisite (props R3D)
7.2.1
- Stop the dashboard greeting from rendering HTML in a user’s name
- Prevent invalid characters in custom action slugs from breaking site URLs
- Stop making a live request to the extension store on every admin/cron update check
- Block object injection in extension store API responses
- Restrict extension license checks to administrators
- Stop auto-login from replacing an already logged-in visitor’s session
- Prevent a fatal error on the login page from bracketed query parameters
- Keep the activation confirmation page from breaking without an activation
- Enforce password validation on every registration entry point
- Keep the password show/hide button from breaking under page button styles
- Fix permalinks sometimes not flushing on activation
- Stop unconfirmed privacy-request links from disclosing request status
- Stop extension auto-updates from failing to download in wp-admin
7.2.0
- Add a filter to disable autofocus on login/register fields
- Add a show/hide toggle to password fields
- Block multisite site creation when network registration is disabled (props Jakub Herman)
- Add default field/button styling
- Update alert styling to match current WP core admin notices
- Default network admin menu items to manage_network_options
7.1.15
- Resync Multisite signup form strings with current WordPress core wording
- Fix potential stored XSS in textarea form fields
- Prevent a PHP 8.5 deprecation notice on wp-admin screens with no TML settings page
- Escape settings field attributes to prevent stored XSS from unescaped option values
- Sanitize Multisite network settings on save, matching single-site behavior
- Verify nonce on extension license activate/deactivate requests to prevent CSRF
- Fix extension icons not displaying due to unserialized API data
- Reduce extension data added to the plugins update transient
- Use a dedicated cache group when caching TML pages
7.1.14
- Ensure license nonce check only occurs on licenses page
7.1.13
- Check for proper permission when managing licenses
- Check for nonce when managing license keys
7.1.12
- Revert converting get_title() to abstract on TML extension class
7.1.11
- Reinstate missing message on lostpassword form
- Convert get_title() to an abstract function on TML extension class
7.1.10
- Tested up to 6.7.1
- Ensure settings attributes are properly wrapped in quotes
- Fix nonce check when saving multisite settings
7.1.9
- Fix multisite settings save regression caused by 7.1.8
- Mark slug settings fields as required
7.1.8
- Tested up to 6.6.1
- Add nonce check to multisite settings page
7.1.7
- Tested up to 6.6
- Update password reset handler to reflect WP core
- Update WP core strings to match the current state of WP core
- Enforce proper permissions when removing notices
- Transform TML Action nav menu items earlier to provent collisions
- Fix overriding of block theme templates
7.1.6
- Tested up to 6.3
- Ensure action page match check query is only ran once
- Fix
login_form_{$action}action hook - Add the
login_footeraction hook - Update invalid email error message
7.1.5
- Tested up to 6.0.1
- Use raw $_POST value when setting custom user passwords
- Fix the login link on AJAX lost password form confirmation
- Implement fix for PATHINFO permalinks
7.1.4
- Hide form for “check your email” step of password reset
- Use retrieve_password() from WP core and deprecate compat.php
- Update strings to match core
- Add a filter to allow disabling network signup redirect
- Fix deprecated notice in password strength meter
7.1.3
- Fix PHP 8 notices
- Fix wp_sensitive_page_meta() deprecated notice in WP 5.7+
- Update password reset button text for WP 5.7+
- Add
lostpassword_user_datafilter
7.1.2
- Fix site crashing on Bluehost
- Add requester IP address to password reset emails
- Fix multisite settings for WP 5.5+
- Default AJAX requests to off
- Bring wp-login.php duplicated code up to date
7.1.1
- Implement option to enable/disable AJAX
- Fix AJAX not working on certain server environments
- Fix AJAX errors not displaying when the AJAX request fails
- Revert forcing actions to the Dashboard when logged in
7.1
- Implement AJAX support
- Introduce new Dashboard action
- Improve performance by reducing queries
- Require WordPress 5.4
- Remove angle brackets from password reset link in notification
- Add sensitive page meta tags to TML actions
- Add missing
lost_passwordaction hook - Fix lostpassword link being rewritten on wp-login.php
7.0.15
- Fix extension update issues caused by caching
- Add
tml_script_dependenciesfilter - Add
tml_script_datafilter
7.0.14
- Fix login page error on on WP 5.2+
- Implement caching for remote extension data to speed up plugins screen
- Implement a CLI command for adding TML actions as nav menu items
- Ensure password recovery error messages match core
- Fix notice if a settings field isn’t passed with an
argsparameter - Fix permalinks being flushed on all TML admin pages
- Allow form attributes to be set in the form constructor
- Add
tml_activate_extensionaction hook - Add
tml_deactivate_extensionaction hook
7.0.13
- Ensure proper retrieval of request parameters in all server configuration scenarios
- Ensure scripts and styles are loaded in the proper order on TML actions
- Ensure TML scripts are loaded in the footer
- Ensure password errors are only displayed where appropriate
- Ensure all strings not found in frontend core translation are translatable
- Implement callable usage of custom form field content
- Implement methods for manipulation of form field classes
- Add
tml_render_formaction hook - Add
tml_render_form_fieldaction hook - Add
tml_before_formfilter - Add
tml_after_formfilter - Add
tml_before_form_fieldfilter - Add
tml_after_form_fieldfilter - Add
tml_get_form_field_contentfilter
7.0.12
- Ensure that styles are more likely to be applied
- Ensure checkbox labels are inline
- Ensure password errors are only applied on register action
- Pass page slug for rewrites if a matching page exists
- Ensure query args are encoded when rewriting URLs
- Ensure query args are passed for actions redirected from login
- Add license activation notice to extension update messages
- Add action links to plugins screen
- Ensure PHP 5.2 support for development
- Ensure hierarchical slugs work properly
7.0.11
- Ensure that actions use their own page
- Ensure the lostpassword action uses a TML link
- Fix undefined variable notice when recovering password
- Fix password strength meter script loading on every request
- Only show TML notices on the Dashboard or TML pages
- Fix undefined variable notices when handling an action
- Fix stomping of other plugins actions
7.0.10
- Fix admin notices displaying for non-privileged users
- Reinstate default testcookie method
- Don’t allow TML actions to stomp on other content
- Don’t allow TML actions to stomp on other TML actions
- Allow non-TML actions to be handled
- Include labels for custom fields if present
