Ví dụ mình tắt phương thức thanh toán là Chuyển khoản ngân hàng và Thanh toán khi nhận hàng khi giỏ hàng có sản phẩm ảo (hoặc bạn cũng có thể thêm sản phẩm có thể tải về).
/**
* Tắt các phương thức thanh toán như BACS và COD nếu có sản phẩm ảo trong giỏ
*/
add_filter( 'woocommerce_available_payment_gateways', 'conditional_payment_gateways' );
function conditional_payment_gateways( $available_gateways ) {
if ( is_admin() || ! WC()->cart ) {
return $available_gateways;
}
foreach ( WC()->cart->get_cart() as $item ) {
$product = wc_get_product( $item['product_id'] );
if ( $product && $product->is_virtual() ) {
unset( $available_gateways['bacs'], $available_gateways['cod'] );
break;
}
}
return $available_gateways;
}
Các bạn thêm đoạn mã trên vào functions.php nhé.
Chúc các bạn thành công!
Bình luận