Mặc định trong WooCommerce khi khách hàng tới trang thanh toán (Checkout) thì hệ thống đều bắt khách phải nhập một số thông tin không cần thiết đối với người dùng Việt Nam như Address 2, Post Code, States..v..v..Nhưng khổ nỗi WooCommerce lại không có tùy chọn để thiết lập vô hiệu hóa các field này. Nhưng không sao, chúng ta vẫn có thể tùy chỉnh nó thông qua các hook có sẵn trong WooCommerce để bỏ bớt một số field không cần thiết trong trang thanh toán của WooCommerce.
Nếu bạn không thích đụng vào code, bạn có thể dùng plugin WooCommerce Checkout Manager để bỏ bớt field hoặc thêm field.
Để xóa bớt một field trong phần thanh toán, bạn chèn code này vào file functions.php của thư mục theme bạn đang dùng.
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); function custom_override_checkout_fields( $fields ) { unset($fields['billing']['billing_postcode']); return $fields; }
Đó là đoạn code mẫu nếu như bạn muốn xóa field nhập Post Code khi thanh toán. Nếu bạn muốn xóa thêm một field khác chỉ cần viết thêm một đoạn unset () nữa là được. Ví dụ
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); function custom_override_checkout_fields( $fields ) { unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_state']); unset($fields['billing']['billing_address_2']); return $fields; }
Vậy nếu bạn cần xóa thêm bất cứ field nào mà trong bài này mình không đề cập thì sao? Trước tiên bạn hãy quan sát một dòng unset() của mình như sau
unset($fields['billing']['billing_address_2']);
Bạn thấy giá trị billing và billing_address_2 chứ? Bây giờ bằng cách dựa vào danh sách các giá trị dưới đây, bạn có thể thay bằng một giá trị tương ứng với field bạn cần xóa
Và đây là kết quả khi áp dụng hướng dẫn trong bài này