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]) : '' ; } }