Turquoise abstract wavy W logo on a black background
Turquoise abstract wavy W logo on a black background
White WP PowerSuite logo on a black background
White WP PowerSuite logo on a black background

Summarize with AI:

On This Page
Last updated: 07/09/2026

Login ID Type

Control whether logins use username, email, or both—cleaner experience and fewer hints to guessers.

Overview

Make your WordPress login form ask for the identifier your website actually uses. Login ID Type lets you accept usernames and email addresses, require usernames only, or require email addresses only. Supported WordPress and WooCommerce login labels change to match the selected policy, so the instruction shown to users agrees with what the form accepts.

Restricted modes enforce the choice during authentication rather than simply changing a field label. They also use consistent instructional feedback for credential failures and coordinate with WP PowerSuite’s Generic Login Errors module when it owns the error message. Login ID Type is a Pro module with one focused setting and no separate management page.

Solid black square
Solid black square
Who is this for?
  • WooCommerce stores that want customers to sign in with their email address
  • Communities that identify members by username
  • Agencies standardizing login instructions across client websites
  • Teams that need one identifier policy across supported WordPress authentication forms

Features

Three Login Policies
Choose Username or Email, Username Only, or Email Only from one setting.
Matching Login Labels
Show Username or Email address on supported WordPress and WooCommerce login forms according to the selected mode.
Server-Side Enforcement
Reject the wrong identifier type before handing the credentials to the appropriate WordPress authentication method.
Consistent Failure Messages
Use the same instructional sentence for unknown accounts and incorrect passwords in restricted modes.
WordPress and WooCommerce Coverage
Apply the policy to standard WordPress login, Change Login URL, and supported WooCommerce My Account requests.
Supported API and 2FA Flows
Cover authentication paths using WordPress authenticate, including supported REST/XML-RPC and PowerSuite 2FA AJAX login.
Native Mode When You Need Both
Keep standard WordPress username-or-email authentication by selecting the default mode, which registers no restriction hooks.

Choose the Login Identifier That Fits Your Website

A website may describe accounts in terms of email addresses while its login form still asks for a username or email. Another site may use recognizable member handles everywhere and want the sign-in experience to follow that convention. Login ID Type gives you an explicit choice instead of leaving the wording and accepted identifier to the default WordPress behavior. The setting applies as a website login policy, rather than a different rule you must define for every individual account.
Email Only rejects identifiers that are not email-shaped and asks the visitor for their email address. Username Only rejects email-shaped identifiers and asks for their username. Username or Email keeps WordPress's native choice and is selected by default. Returning to that mode removes this module's restriction hooks, so you can restore the standard behavior without changing user records or maintaining another set of authentication rules.

Change Authentication Behavior, Not Just the Label

Relabeling a field can make a form look consistent while leaving its actual authentication behavior unchanged. A form labeled Email address might still accept a username if nothing checks the submitted identifier. Login ID Type handles both sides of that problem. On supported login screens it changes the label, and in restricted modes it checks the identifier type before passing the credentials to WordPress's username or email authentication method.
That means the selected policy is enforced when the request reaches the server, not merely suggested in the interface. A user cannot choose the other identifier type simply by changing the browser's field label or sending a different value. The module still leaves password checking to WordPress's authentication methods. It selects which identifier is acceptable; it does not replace the password step or create a new account system.

Keep WordPress and WooCommerce Login Instructions Aligned

Customers and staff may encounter more than one login screen on the same website. A store can have WooCommerce My Account on the frontend and the standard WordPress login for administration. Login ID Type updates the supported labels and validates WooCommerce login errors as well as core authentication, helping those entry points follow the same identifier policy. An email-based storefront does not have to keep a contradictory Username or email address prompt simply because that is the default.
The module also works with Change Login URL, so moving the standard login screen to a custom address does not remove the identifier restriction. PowerSuite's 2FA AJAX login is covered too. These integrations support a consistent first step across the named workflows, while the custom login address and additional verification requirements remain the responsibilities of their own modules.

Give Clear Feedback Without Distinguishing Credential Failures

In a restricted mode, Login ID Type uses one instructional response for credential failures. Username-only login uses Use your username to log in. Email-only login uses Use your email address to log in. The response does not distinguish an unknown account from an incorrect password. This keeps the message focused on the chosen sign-in convention rather than announcing which part of a submitted credential pair was recognized.
Error ownership matters when Generic Login Errors is also active. In that situation, Login ID Type continues enforcing the identifier policy but leaves the generic sentence to the other module, and the settings display an overlap warning. For predictable instructional copy in a restricted mode, let Login ID Type own the message. For native username-or-email login with generic failure wording, keep the default mode and use Generic Login Errors for that separate purpose.

Define the Boundaries for API and Custom Login Forms

Not every authentication interface is a WordPress login screen. Login ID Type can also enforce the policy on REST and XML-RPC credential flows that use the relevant WordPress authenticate path, rather than treating its visible form labels as the entire feature. Supported PowerSuite 2FA AJAX requests follow the same first-step rule. This gives developers an authentication-level control for the covered requests instead of a restriction that exists only on wp-login.php.
Membership, learning-management, and custom login forms are not all rewritten automatically. They need to use the supported WordPress authentication path or opt in through the module's credential-login request filter. A custom interface may also need its own label updated so its instructions match the selected mode. Treat this as a defined integration boundary, not a promise that every third-party form or independent token-authentication system will be modified by one setting.

Keep Login Policy Separate From Account Changes

Choosing email-only login does not rename WordPress accounts, and choosing username-only login does not remove their email addresses. Login ID Type controls what a supported sign-in request accepts. Registration and password-reset identifier rules stay unchanged, so a recovery form can still follow its existing behavior even when the sign-in form uses a stricter policy. That separation prevents a login preference from silently rewriting the rest of the account lifecycle.
When the actual stored login name needs to change, Username Changer provides that different workflow. Use it for an intentional account rename, and use Login ID Type for the site's sign-in convention. This is especially useful when communicating a policy change: existing users need to know which identifier to enter, but you do not have to rebuild their accounts just to make the login screen consistently ask for an email address or username.

Use Cases

  • Email-Based Storefront Login
    Give WooCommerce customers a login prompt and validation policy centered on their email address.
  • Username-Based Communities
    Keep supported sign-in forms aligned with a community that uses member handles rather than email addresses.
  • Consistent Client Login Screens
    Apply one identifier policy across standard WordPress and supported WooCommerce login forms.
  • Custom Login URL Workflows
    Retain the selected identifier rule after moving the WordPress login screen to a custom path.

Frequently Asked Questions

Related Modules

Your logo on the login page for a branded sign-in experience.
Disabled
Choose where the login logo click goes—usually back to your own site.
Disabled
Expiring, one-click login links for vendors or support—no shared passwords, with optional limits and a simple activity log.
Disabled
View the site as another user for support or testing, with time limits and a quick way to return to your own...
Disabled
Notifies you by email when an administrator logs in—useful for spotting unfamiliar access.
Disabled
Letter-based profile images with customizable colors—great when you want a polished look without relying on Gravatar.
Disabled
Last login time in the Users table so you can see who has been active recently.
Disabled
Use a custom login URL instead of the default one bots love to hammer; bookmark your new address.
Disabled
Same friendly login error every time—stops people from fishing for valid usernames.
Disabled
On-site profile photos instead of Gravatar—simple for members and hosts.
Disabled