RTFM

Multi-Email Login

Multi-Email Login
Current Version
1.0.2
Requires WordPress
5.0
Tested Up To
6.9
Translations included
🇺🇸 English
🇪🇸 Spanish
🇩🇪 German

Overview

Multi-Email Login lets a WordPress user account work with more than one email address. After an additional email address is added to a user profile, that user can sign in with either their primary WordPress email address or any saved additional email address.

The plugin stores additional email addresses on the user account and keeps them unique across the site so the same email address cannot be assigned to multiple users.

Features

  • Add multiple additional email addresses to a user account
  • Sign in with a primary or additional email address
  • Manage additional email addresses from the WordPress user profile screen
  • Prevent duplicate email addresses across accounts
  • Use WordPress capability checks and nonce protection for profile changes

Requirements

  • WordPress 6.5 or later
  • PHP 7.2 or later

Installation

  1. Upload the multi-email-login plugin folder to /wp-content/plugins/.
  2. In WordPress admin, go to Plugins.
  3. Activate Multi-Email Login.

No additional setup is required after activation.

How It Works

Each user keeps their normal WordPress primary email address.

The plugin adds support for extra email addresses on the user profile. When someone signs in with an email address, the plugin checks:

  1. The user’s primary WordPress email address
  2. Any additional email addresses saved for that user

If a match is found and the password is correct, the user is authenticated normally.

Managing Additional Email Addresses

For Your Own Account

  1. Sign in to WordPress.
  2. Go to Users > Profile.
  3. Find the Additional Email Addresses section.
  4. Enter an email address in the field.
  5. Click Add Email.

The new email address will appear in the list immediately when it is accepted.

For Another User

Administrators and any role with permission to edit that user can manage the same section from:

Users > All Users > Edit User

Removing an Additional Email Address

  1. Open the user profile.
  2. Find the email address in the Additional Email Addresses list.
  3. Click Remove.
  4. Confirm the removal when prompted.

The primary WordPress email address is not removable through this plugin.

Rules and Validation

The plugin enforces the following rules:

  • The email address must be a valid email format
  • The email address cannot already be used by another account
  • The same email address cannot be added twice to the same account
  • Only users with permission to edit the profile can add or remove email addresses

Login Behavior

Users can continue signing in exactly as they do now.

Examples:

That user can sign in with either [email protected] or [email protected], using the same password for the account.

Usernames are still supported through the normal WordPress login flow.

Where to Manage Emails

The plugin does not add a separate settings page.

All email management happens directly on individual user profile screens in the WordPress admin area.

Data Storage

Additional email addresses are stored in WordPress user meta for each user account.

The plugin does not create a custom database table.

Multisite

The plugin uses standard WordPress user data and can be used in multisite environments. Additional email addresses are stored on the user account itself.

Troubleshooting

I do not see the Additional Email Addresses section

  • Make sure the plugin is activated
  • Make sure you are viewing Users > Profile or Edit User
  • Make sure your account has permission to edit that profile

An email address will not save

Possible reasons include:

  • The address is not a valid email format
  • The address is already used by another account
  • The address is already attached to this account

Login with an additional email does not work

Check the following:

  • The additional email address was successfully added to the account
  • The password is correct
  • The email address was not removed later
  • Another plugin or custom authentication flow is not overriding WordPress login behavior

Frequently Asked Questions

Is there a limit to how many additional email addresses a user can have?

The plugin does not set a hard limit.

Does this change the user’s primary WordPress email address?

No. The primary email address stays the same unless it is changed through the normal WordPress profile fields.

Does each email address get its own password?

No. All additional email addresses belong to the same WordPress user account and use the same password.

Can two users share the same email address?

No. Email addresses must remain unique across the site.

Does this plugin create a front-end form?

No. Email management is handled in the WordPress admin user profile screen.

Developers

Available Developer Features

The plugin currently exposes one general-purpose helper function intended for developers:

melog_get_user_by( $field, $value )

This works like WordPress get_user_by(), but when $field is email, it checks both the primary email address and any additional email addresses saved by the plugin.

Example: Find a User by Any Saved Email Address

<?php
$user = melog_get_user_by( 'email', '[email protected]' );

if ( $user ) {
    echo esc_html( $user->display_name );
}

Notes for Developers

  • For non-email lookups such as ID, login, or slug, melog_get_user_by() behaves like the native WordPress function
  • The current plugin code does not register custom action hooks or filter hooks for third-party extensions
  • The profile add and remove actions are handled internally through authenticated WordPress AJAX requests

Support Notes

When testing user login changes, make sure you are testing with a real saved additional email address on the intended account and the correct password for that account.