Force User Email Update
Forces Users to Update their Email.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/muhammadharis00/force-user-email-update-wordpress-plugin/archive/refs/heads/master.zipDescription
Force User Email Update is a WordPress plugin that forces users who registered after a configurable cutoff date to update their email address before they can access protected areas (e.g. the downloads page).
The plugin provides:
- A shortcode
[email_update_form]to render an email-update form with optional password and old-email fields. - A redirect system on the
/redirect-check/page that sends users who have not yet updated their email to the update form, and users who have to the downloads page. - Email confirmation sent to the new address after a successful update.
- Automatic logout redirect to the homepage.
Everything is output in German.
Installation
- Upload the
force-user-email-update.phpfile to your/wp-content/plugins/directory, or install the plugin zip through the WordPress admin (Plugins → Add New → Upload Plugin). - Activate the plugin through the 'Plugins' screen in WordPress.
- Create a page with the slug
redirect-check(used by the redirect logic). - Create a page (e.g.
/e-mail-aktualisieren/) and place the shortcode[email_update_form]on it. - Adjust the cutoff date constant in the plugin file if needed
(
EMAIL_REDIRECT_CUTOFF).
Frequently Asked Questions
What does the cutoff date do?
Only users registered after EMAIL_REDIRECT_CUTOFF (default 2025-11-07) are
affected by the redirect and email-update requirement. Older users are
redirected to the homepage instead.
How does the redirect work?
When a logged-in user visits the redirect-check page, the plugin checks their
email_changed user meta:
0(not yet updated) → redirects to the email update form link.1(already updated) → redirects to the downloads page link.
How do I use the shortcode?
Place [email_update_form] on any page. Accepted attributes:
password="yes|no"— show a password field (defaultno).old_email="yes|no"— show the current (disabled) email field (defaultno).
Example:
[email_update_form password="yes" old_email="yes"]
Is an email sent after the update?
Yes. A confirmation email in German is sent to the new address via wp_mail().
Changelog
1.0.3
-
Added email confirmation email after update.
-
Added logout redirect to homepage.
-
Added
redirect_checkshortcode for fallback.1.0.2
-
Added redirect logic for users registered after cutoff date.
-
Added
email_changeduser meta tracking.1.0.1
-
Added
[email_update_form]shortcode with password and old-email options.1.0.0
-
Initial release.
Upgrade Notice
1.0.3
- Adds email confirmation and logout redirect; review the redirect page setup.