# "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.

- Type: PHP
- Runs: Run everywhere
- Category: [Forms](https://wpide.com/library/category/forms/)
- Tags: registration, validation, email
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/form-registration-confirm-email/

## Code

```php
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 use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find ""Confirm Email" Field on the Registration Form" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
