"Confirm Email" Field on the Registration Form
Adds a second email field to the WordPress registration form and refuses the sign-up when the two addresses differ, so new users do not lock themselves out with a typo.
Opens WPIDE on
Code
add_action( 'register_form', function () {
$value = isset( $_POST['wpide_email_confirm'] ) ? sanitize_email( wp_unslash( $_POST['wpide_email_confirm'] ) ) : '';
printf( '<p><label for="wpide_email_confirm">Confirm email</label><input type="email" name="wpide_email_confirm" id="wpide_email_confirm" class="input" value="%s" size="25" autocomplete="email" required></p>', esc_attr( $value ) );
} );
add_filter( 'registration_errors', function ( $errors, $login, $email ) {
$confirm = isset( $_POST['wpide_email_confirm'] ) ? sanitize_email( wp_unslash( $_POST['wpide_email_confirm'] ) ) : '';
if ( strtolower( trim( $confirm ) ) !== strtolower( trim( $email ) ) ) {
$errors->add( 'wpide_email_mismatch', '<strong>Error:</strong> The email addresses do not match.' );
}
return $errors;
}, 10, 3 );
Notes
Applies to the standard wp-login.php?action=register form.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.