Không bắt buộc nhập Email, ẩn Quốc gia và mã bưu điện trong checkout Woocommerce

Thảo luận trong 'Mã nguồn mở Wordpress' bắt đầu bởi seolagi, 9/4/21.

  1. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,029
    Đã được thích:
    80
    Điểm thành tích:
    48
    Cái màn hình checkout của mình nó hiện Quốc gia, mã bưu điện lên làm khách hàng khá khó chịu, có bạn nào biết cách ẩn đi không? và trường Email để là không bắt buộc phải nhập giúp mình.

    Thường Quốc gia, nó mặc đình là lúc cài đặt WEb rồi mình chỉ bán cho Việt Nam, giờ muốn ẩn nó đi, ẩn cả mã bưu điện giúp mình ở trang thanh toán checkout với nhé.

    Mình sử dụng plugin sản phẩm woocommerce

    an-ma-buu-dien-quoc-gia-email-tren-checkout-woocommerce.jpg
     
    Cảm ơn đã xem bài:

    Không bắt buộc nhập Email, ẩn Quốc gia và mã bưu điện trong checkout Woocommerce

  2. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,897
    Đã được thích:
    1,198
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Bạn chèn code sau vào function.php của themes nhé:
    PHP:
    //không bắt buộc nhập email
    add_filter'woocommerce_billing_fields''remove_required_fields');
    function 
    remove_required_fields$fields ) {
        
    $fields['billing_email']['required'] = false;
        return 
    $fields;
    }
    //ẩn mã bưu điện
    add_filter'woocommerce_checkout_fields' 'QuadLayers_remove_billing_postcode_checkout' );
    function 
    QuadLayers_remove_billing_postcode_checkout$fields ) {
    unset(
    $fields['billing']['billing_postcode']);
    return 
    $fields;
    }
    Còn quốc gia thì bạn ẩn bằng css chứ không tắt được, sẽ làm lỗi thanh toán, add code css sau vào để ẩn nhé:
    Mã:
    #billing_country_field,
    #billing_address_2_field,
    .woocommerce-privacy-policy-text {
        display: none !important;
    }
    Khi bạn ẩn quốc gia khu vực đi, thì để đảm bạo mặc định luôn chọn quốc gia là Việt Nam thì thêm code sau vào funtion.php cho chắc chắn:
    PHP:
    add_filter'default_checkout_billing_country''change_default_checkout_country'10);
    function 
    change_default_checkout_country$country ) {
        if ( 
    WC()->customer->get_is_paying_customer() ) {
            return 
    $country;
        }
        return 
    'VN';
    }
     
    Chỉnh sửa cuối: 22/5/21