Tắt phương thức thanh toán khác khi giỏ hàng có sản phẩm ảo trong WooCommerce

Nếu cửa hàng có bạn có sản phẩm ảo và bạn muốn tắt phương thức thanh toán khác khi giỏ hàng có sản phẩm ảo trong WooCommerce, bài viết này sẽ giúp bạn.

Tắt phương thức thanh toán khác khi giỏ hàng có sản phẩm ảo trong WooCommerce

Ví dụ mình tắt phương thức thanh toán là Chuyển khoản ngân hàngThanh 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


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...