![](/img/trans.png)
[英]How to create a password and confirm password on register page on WooCommerce
[英]Woocommerce confirm password not showing
我已將以下代碼添加到我的functions.php文件中,以允許在結帳頁面上確認密碼。
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' );
}
}
}
這是網站結帳頁面的鏈接。 您將必須將產品添加到購物車,然后返回到結帳頁面。 將產品放入購物車,然后進入“結帳”頁面,您會注意到密碼字段以紅色突出顯示,並且沒有密碼確認字段。 這已破了。
http://staging.vawk.ca/checkout/
但是,如果您轉到以下URL並執行相同的操作,則密碼確認在那里,並且一切正常。 就我而言,所有代碼都是相同的,而數據庫是相同的。
http://jolangreen.com/other/clients/vawk/checkout/
如何在http://staging.vawk.ca/checkout/上獲取密碼確認
請嘗試以下修改后的代碼,在WooCommerce 3.0.3+上的WordPress 4.7.3+上運行。
邏輯挖掘者
**
* Add a confirm password field to the checkout registration form.
*/
function o_woocommerce_confirm_password_checkout( $checkout ) {
if ( get_option( 'woocommerce_registration_generate_password' ) == 'no' ) {
$fields = $checkout->get_checkout_fields();
$fields['account']['account_confirm_password'] = array(
'type' => 'password',
'label' => __( 'Confirm password', 'woocommerce' ),
'required' => true,
'placeholder' => _x( 'Confirm Password', 'placeholder', 'woocommerce' )
);
$checkout->__set( 'checkout_fields', $fields );
}
}
add_action( 'woocommerce_checkout_init', 'o_woocommerce_confirm_password_checkout', 10, 1 );
/**
* Validate that the two password fields match.
*/
function o_woocommerce_confirm_password_validation( $posted ) {
$checkout = WC()->checkout;
if ( ! is_user_logged_in() && ( $checkout->must_create_account || ! empty( $posted['createaccount'] ) ) ) {
if ( strcmp( $posted['account_password'], $posted['account_confirm_password'] ) !== 0 ) {
wc_add_notice( __( 'Passwords do not match.', 'woocommerce' ), 'error' );
}
}
}
add_action( 'woocommerce_after_checkout_validation', 'o_woocommerce_confirm_password_validation', 10, 2 );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.