add_filter('woocommerce_cart_item_price', function ($price, $cart_item, $cart_item_key) {
    global $wc_wholesale_prices;
    $wholesale_role = $wc_wholesale_prices->wwp_wholesale_roles->getUserWholesaleRole();
    
    $product_id = !empty($cart_item['variation_id']) ? $cart_item['variation_id'] : $cart_item['product_id'];
    $product = wc_get_product($product_id);

    if(!empty($wholesale_role) && is_cart()){
        $wholesale_price = WWP_Wholesale_Prices::get_product_wholesale_price_on_shop($product->get_id(), $wholesale_role);
        if($wholesale_price)
           return WWP_Helper_Functions::wwp_formatted_price($wholesale_price);
    }
    return $price; 
}, 10, 3);

function wwp_disregard_min_order_subtotal_price( $product_subtotal, $product, $quantity, $instance ) { 
    global $wc_wholesale_prices;
    $wholesale_role = $wc_wholesale_prices->wwp_wholesale_roles->getUserWholesaleRole();

    if(!empty($wholesale_role) && is_cart()){
        $wholesale_price = WWP_Wholesale_Prices::get_product_wholesale_price_on_shop($product->get_id(), $wholesale_role);
        if($wholesale_price) {
            $subtotal = $quantity * $wholesale_price;
            return WWP_Helper_Functions::wwp_formatted_price($subtotal);
        }
    }
    return $product_subtotal; 
}; 
add_filter( 'woocommerce_cart_product_subtotal', 'wwp_disregard_min_order_subtotal_price', 10, 4 ); 

add_action( 'woocommerce_before_calculate_totals', 'wwp_disregard_min_order_cart_totals_price', 10, 1);
function wwp_disregard_min_order_cart_totals_price( $cart_object ) {

    if(!is_cart())
        return;
        
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    global $wc_wholesale_prices;
    $wholesale_role = $wc_wholesale_prices->wwp_wholesale_roles->getUserWholesaleRole();

    if(empty($wholesale_role))
        return;
    
    foreach ( $cart_object->get_cart() as $cart_item_key => $cart_item ) {
        $product_id = WWP_Helper_Functions::wwp_get_product_id($cart_item['data']);
        $wholesale_price = WWP_Wholesale_Prices::get_product_wholesale_price_on_shop($product_id, $wholesale_role);
        $price = $wholesale_price ? $wholesale_price : $cart_item['data']->get_price();
        $cart_item['data']->set_price($price);
        $cart_item['data']->wwp_data = $wholesale_price ? array('wholesale_priced' => 'yes', 'wholesale_role' => $wholesale_role[0]) : '' ;

    }
}