Hướng dẫn thêm Confirm Password trong Registration Page và Checkout Page
25 Tháng sáu, 2024
Tình trạng spam tài khoản, hay khách hàng không nghiêm túc trong việc tạo tài khoản để spam đơn hàng. Mình khuyến khích các bạn thêm một field nhập nữa là “Nhập lại mật khẩu”.
Khá là đơn giản, bạn chỉ cần việc copy các đoạn sau đây vào file function.php là được. Ở đây có 2 trường hợp, mình sẽ tách ra làm 2 giúp các bạn dễ hiểu.
Thêm Confirm Password trong Registration Page
<?php
// ----- Kiểm tra password ở trang đăng ký Woocommerce
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', __( 'Mật khẩu không trùng nhau.', 'woocommerce' ) );
}
return $reg_errors;
}
add_filter('woocommerce_registration_errors', 'registration_errors_validation', 10,3);
// ----- Thêm field Nhập lại mật khẩu ở trang đăng ký Woocommerce
function wc_register_form_password_repeat() {
?>
<p class="form-row form-row-wide">
<label for="reg_password2"><?php _e( 'Nhập lại mật khẩu', '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
}
add_action( 'woocommerce_register_form', 'wc_register_form_password_repeat' );
Thêm Confirm Password trong Checkout Page
// ----- Kiểm tra password ở trang thanh toán Woocommerce
function lit_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( __( 'Mật khẩu không trùng nhau.', 'woocommerce' ), 'error' );
}
}
}
add_action( 'woocommerce_after_checkout_validation', 'lit_woocommerce_confirm_password_validation', 10, 2 );
// ----- Thêm field Nhập lại mật khẩu ở trang thanh toán Woocommerce
function lit_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' => __( 'Nhập lại mật khẩu', 'woocommerce' ),
'required' => true,
'placeholder' => _x( 'Nhập lại mật khẩu', 'placeholder', 'woocommerce' )
);
$checkout->__set( 'checkout_fields', $fields );
}
}
add_action( 'woocommerce_checkout_init', 'lit_woocommerce_confirm_password_checkout', 10, 1 );
Đây là kết quả, có gì không hiểu hay không được, bạn hãy bình luận ở dưới nhé!
Đăng nhập
0 Góp ý
Cũ nhất
Kiến thức
- Tháng mười 10, 2024
Cách chặn robot thu thập liên kết “thêm vào giỏ hàng” trên WooCommerce
Kiến thức
- Tháng chín 30, 2024
WordPress là gì? Hướng dẫn sử dụng WordPress chi tiết cho người mới bắt đầu
Kiến thức
- Tháng chín 24, 2024
Ahref là gì? Cách cài Ahrefs miễn phí cho người mới bắt đầu
Kiến thức
- Tháng chín 24, 2024
Cách cài Bing Webmaster Tools trên Microsoft cho Website 2024
Kiến thức
- Tháng chín 24, 2024
Hướng dẫn chi tiết cách cài Google Analytics cho Website đơn giản và hiệu quả
Kiến thức
- Tháng chín 24, 2024
Hướng dẫn cách cài Google Search Console đơn giản cho người mới bắt đầu
Wordpress
- Tháng sáu 26, 2024
Hướng dẫn tích hợp Facebook Messenger vào Website
Kiến thức
- Tháng sáu 26, 2024
Bảng mã màu HTML, CSS, RGB, CMYK chuẩn
Wordpress
- Tháng sáu 26, 2024
Cách cài đặt SMTP cho WordPress
Wordpress
- Tháng sáu 26, 2024
Hướng dẫn sử dụng Duplicator để nhân bản Website WordPress
Woocommerce
- Tháng sáu 26, 2024
Hướng dẫn hiển thị sản phẩm đã xem trong Woocommerce
Tin tức liên quan
Custom Plus & Minus Quantity trong Woocommerce
Như bạn đã biết thì nút thay đổi số lượng của Woocommerce để default không mấy là đẹp mắt và khiến người dùng khó tương tác trong việc thay...
Hướng dẫn tạo sản phẩm Woocommerce có biến thể đẹp mắt
Mình đọc bình luận thấy khá nhiều bạn kêu gặp khó khăn trong vấn đề tạo sản phẩm có biến thể, hay sản phẩm có biến thể không được...
Hướng dẫn thêm Confirm Password trong Registration Page và Checkout Page
Tình trạng spam tài khoản, hay khách hàng không nghiêm túc trong việc tạo tài khoản để spam đơn hàng. Mình khuyến khích các bạn thêm một field nhập...