【发布时间】:2018-03-19 14:37:46
【问题描述】:
我已将以下代码添加到我的 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/
但是,如果您转到以下网址并执行相同的操作,则密码确认就在那里,并且一切正常。就我而言,所有的代码都是一样的,数据库也是一样的。
http://jolangreen.com/other/clients/vawk/checkout/
如何获得密码确认以在http://staging.vawk.ca/checkout/上工作
【问题讨论】:
标签: php wordpress forms woocommerce