Pricing Process Reviews Contact

Divi Guy blog

Add a second password field to the checkout page in WooCommerce.

This function adds a second password field to the checkout page in WooCommerce.

/* Add a second password field to the checkout page in WC 3.x. BEGIN */

add_filter( 'woocommerce_checkout_fields', 'wc_add_confirm_password_checkout', 10, 1 );

function wc_add_confirm_password_checkout( $checkout_fields ) {

    if ( get_option( 'woocommerce_registration_generate_password' ) == 'no' ) {

        $checkout_fields['account']['account_password2'] = array(

                'type'              => 'password',

                'label'             => __( 'Confirm password', 'woocommerce' ),

                'required'          => true,

                'placeholder'       => _x( 'Confirm Password', 'placeholder', 'woocommerce' )

        );

    }

    return $checkout_fields;

}

// 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' );

        }

    }

}

/* Add a second password field to the checkout page in WC 3.x. END */

Need a hand?

Need help with your Divi website?

Book a Divi consultation and we can fix it together over Zoom, or ask for an estimate for bigger jobs.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Search

Browse

More tips

Got a question?

Ask me anything

Stuck on something in Divi or WordPress? Ask away and I will reply by email, usually within 24 hours.

Ask a Question

Tell me about your project. The more details the better.

"*" indicates required fields

Make a payment

Got an invoice?

Pay an invoice, a deposit or a tip in about a minute. Card or PayPal, secure checkout, and I never see your card number.

Make a payment