Trong quá trình tùy chỉnh lại trang giỏ hàng và thanh toán, một số trường hợp chúng ta cần ngăn không cho khách hàng thanh toán vì cần khách hàng điền thông tin, hoặc khách hàng mua sỉ cần báo giá riêng hay chưa tính được giá ship ….
Để ngăn không cho khách hàng check out kết thúc đơn hàng một giải pháp đơn giản là ta giấu nút thanh toán đi bằng các hàm như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
add_filter('woocommerce_order_button_html','remove_order_button_html' ); function remove_order_button_html( $button ) { $found = false; $state_code = 'CA'; global $woocommerce; if( $selected_state_code = WC()->customer->get_billing_state() ) { $country_code = WC()->customer->get_billing_country(); $state_name = WC()->countries->get_states($country_code)[$state_code]; if( WC()->customer->get_billing_state() === $state_code ) { $found = true; } } if( $found ) $button = ''; return $button; } |
Trong ví dụ trên mình ẩn nút thanh toán nếu state là CA (California), nếu WC()->customer->get_billing_state() === $state_code thì mình ẩn nút thanh toán
Bài viết mới: