Thêm Ô Nhập Số Lượng Tại Trang Thanh Toán WooCommerce

/**
 * @snippet       Item Quantity Inputs @ WooCommerce Checkout
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 6
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */

// ----------------------------
// Hide Quantity String Beside Product Name

add_filter('woocommerce_checkout_cart_item_quantity', '__return_empty_string');

// ----------------------------
// Add Quantity Inputs

add_filter('woocommerce_cart_item_subtotal', 'bbloomer_checkout_item_quantity_input', 9999, 3);

function bbloomer_checkout_item_quantity_input($product_quantity, $cart_item, $cart_item_key) {
    if (is_checkout()) {
        // Lấy sản phẩm và ID sản phẩm từ cart item
        $product = apply_filters('woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key);
        $product_id = apply_filters('woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key);
        
        // Tạo ô nhập số lượng cho sản phẩm
        $product_quantity = woocommerce_quantity_input(array(
            'input_name'  => 'shipping_method_qty_' . $product_id,
            'input_value' => $cart_item['quantity'],
            'max_value'   => $product->get_max_purchase_quantity(),
            'min_value'   => '0',
        ), $product, false);

        // Thêm trường ẩn để lưu trữ khóa sản phẩm trong giỏ hàng
        $product_quantity .= '<input type="hidden" name="product_key_' . $product_id . '" value="' . $cart_item_key . '">';
    }
    return $product_quantity;
}