WooCommerce 2.1 Add Password Confirm Field on My Account Register Form

As per my last tutorial, which showed you how to add a password confirm field to the checkout page, this tutorial falls in the same category but for the register form on the My Account page.

In WooCommerce 2.1 the repeat password fields was removed as it was decided it was easy enough to reset your password with one click should you have gotten in wrong.

If you would still like to add a password confirm field on your register page all you have to do is add the code below to your theme’s functions.php file.

This will add a new field underneath the password field with a label Password Repeat, and then when the customer clicks register it will match the password and password repeat fields against each and and proceed with registration it it matches, or throw an error if it does not match.

<?php
// Add the code below to your theme's functions.php file to add a confirm password field on the register form under My Accounts.
add_filter('woocommerce_registration_errors', 'registration_errors_validation', 10,3);
function registration_errors_validation($reg_errors, $sanitized_user_login, $user_email) {
global $woocommerce;
extract( $_POST );
if ( strcmp( $password, $password2 ) !== 0 ) {
return new WP_Error( 'registration-error', __( 'Passwords do not match.', 'woocommerce' ) );
}
return $reg_errors;
}
add_action( 'woocommerce_register_form', 'wc_register_form_password_repeat' );
function wc_register_form_password_repeat() {
?>
<p class="form-row form-row-wide">
<label for="reg_password2"><?php _e( 'Password Repeat', 'woocommerce' ); ?> <span class="required">*</span></label>
<input type="password" class="input-text" name="password2" id="reg_password2" value="<?php if ( ! empty( $_POST['password2'] ) ) echo esc_attr( $_POST['password2'] ); ?>" />
</p>
<?php
}
?>

view raw
functions.php
hosted with ❤ by GitHub