vladkrasovsky
10/26/2016 - 1:25 PM

WooCommerce 2.1 Add confirm password option at checkout

WooCommerce 2.1 Add confirm password option at checkout

<?php
// place the following code in your theme's functions.php file
// Add a second password field to the checkout page.
add_action( 'woocommerce_checkout_init', 'wc_add_confirm_password_checkout', 10, 1 );
function wc_add_confirm_password_checkout( $checkout ) {
	if ( get_option( 'woocommerce_registration_generate_password' ) == 'no' ) {
		$checkout->checkout_fields['account']['account_password2'] = array(
			'type' 				=> 'password',
			'label' 			=> __( 'Confirm password', 'woocommerce' ),
			'required'          => true,
			'placeholder' 		=> _x( 'Confirm Password', 'placeholder', 'woocommerce' )
		);
	}
}

// Check the password and confirm password fields match before allow checkout to proceed.
add_action( 'woocommerce_after_checkout_validation', 'wc_check_confirm_password_matches_checkout', 10, 2 );
function wc_check_confirm_password_matches_checkout( $posted ) {
	$checkout = WC()->checkout;
	if ( ! is_user_logged_in() && ( $checkout->must_create_account || ! empty( $posted['createaccount'] ) ) ) {
		if ( strcmp( $posted['account_password'], $posted['account_password2'] ) !== 0 ) {
			wc_add_notice( __( 'Passwords do not match.', 'woocommerce' ), 'error' );
		}
	}
}
?>