Sửa lỗi “Xin hãy nhập một địa chỉ để tiếp tục” trên website

Khi khách hàng thanh toán trên website hiện lỗi “Xin hãy nhập một địa chỉ để tiếp tục” trong Woocommerce là một lỗi hay gặp khi chúng ta tối ưu form thanh toán sai cách. Và lỗi “Xin hãy nhập một địa chỉ để tiếp tục” gây khó chịu cho người sử dụng và mua hàng. Với vài bước đơn giản, mình sẽ hướng dẫn bạn khắc phục lỗi “Xin hãy nhập một địa chỉ để tiếp tục”. Cùng bắt đầu nhé!

1. Tại sao lại bị lỗi “Xin hãy nhập một địa chỉ để tiếp tục”?

Lỗi “Xin hãy nhập một địa chỉ để tiếp tục” xuất hiện tại trang Checkout (Thanh toán) trên Woocommerce khi người dùng ấn Đặt hàng. Nguyên nhân gây lỗi có thể do 1 hoặc sự kết hợp của 3 yếu tố sau:

  • Sản phẩm của bạn là loại sản phẩm vật lý (physical products).
  • Các trường dữ liệu billing_country và shipping_country bị xóa trên trang Checkout. (hay gặp khi tối ưu form thanh toán sai cách)
  • Việc cài đặt vị trí địa lý trên Woocommerce chưa được thiết lập.

Chính điều này, đã làm phát sinh thông báo lỗi “Xin hãy nhập một địa chỉ để tiếp tục” trên website của bạn. Vì Woocommerce xác định nếu như bạn kinh doanh sản phẩm vật lý thì shipping phải ghi rõ Country.

2. Cách khắc phục lỗi “Xin hãy nhập một địa chỉ để tiếp tục”

2.1. Code chuẩn việc tùy biến trang Checkout, ẩn Country bằng CSS

Bạn cần code chuẩn việc chỉnh sửa, ẩn/xóa các trường dữ liệu ở trang Thanh toán (Checkout). Bạn có thể tham khảo bài viết rất đầy đủ trên website của Woocommerce tại đây. Hoặc bạn có thể tham khảo đoạn code về việc xóa các trường dữ liệu ngay dưới đây. Bạn muốn xóa dữ liệu này thì giữ lại dòng code tương ứng (không có dòng Country ở trong đoạn code này nhé).

Để chèn code PHP vào WordPress, bạn có thể sử dụng plugin Code Snippets.

/**
 Remove all possible fields
 **/
function wc_remove_checkout_fields( $fields ) {

    // Billing fields
    unset( $fields['billing']['billing_company'] );
    unset( $fields['billing']['billing_email'] );
    unset( $fields['billing']['billing_phone'] );
    unset( $fields['billing']['billing_state'] );
    unset( $fields['billing']['billing_first_name'] );
    unset( $fields['billing']['billing_last_name'] );
    unset( $fields['billing']['billing_address_1'] );
    unset( $fields['billing']['billing_address_2'] );
    unset( $fields['billing']['billing_city'] );
    unset( $fields['billing']['billing_postcode'] );

    // Shipping fields
    unset( $fields['shipping']['shipping_company'] );
    unset( $fields['shipping']['shipping_phone'] );
    unset( $fields['shipping']['shipping_state'] );
    unset( $fields['shipping']['shipping_first_name'] );
    unset( $fields['shipping']['shipping_last_name'] );
    unset( $fields['shipping']['shipping_address_1'] );
    unset( $fields['shipping']['shipping_address_2'] );
    unset( $fields['shipping']['shipping_city'] );
    unset( $fields['shipping']['shipping_postcode'] );

    // Order fields
    unset( $fields['order']['order_comments'] );

    return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'wc_remove_checkout_fields' );

2.2. Thiết lập vị trí địa lý trên Woocommerce

Tại trang quản trị, vào menu Woocommerce  > Settings (Thiết lập) > General (Chung). Hãy kéo xuống phần Tùy chọn chung và thiết lập cài đặt quốc gia bán hàng và quốc gia giao hàng cùng 1 nơi. Như hình phía dưới, mình thiết lập đều là Việt Nam.

Sau khi xong thiết lập, ở trang Checkout sẽ tự động hiện 1 trường dữ liệu Quốc gia là Việt Nam. Bạn cần thêm CSS để ẩn trường dữ liệu này để tối giản thông tin không cần thiết đến khách hàng.

3. CSS ẩn trường dữ liệu Quốc gia tại Checkout

Đoạn CSS như sau:

#billing_country_field {
display: none;
}

Để chèn code CSS, bạn có thể sử dụng plugin Simple CSS.

Bạn có thể xem video hướng dẫn sửa lỗi “Xin hãy nhập một địa chỉ để tiếp tục” với theme Flatsome ở dưới đây:

Như vậy với bài viết trên, Lỗi “Xin hãy nhập một địa chỉ để tiếp tục” trên website của các bạn đã được khắc phục, khách hàng đã có thể đặt hàng bình thường. Chúc các bạn thực hiện thành công!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *