Copy and paste the following snippet inside your functions.php to be able set a minimum order amount based on Distance on Checkout using WooFood .
add_action("wpslash_distance_check_checkout_completed", "wpslash_hook_add_minimum_order_based_on_distance", 10, 3);
function wpslash_hook_add_minimum_order_based_on_distance($distance_km, $store_address, $customer_full_address)
{
global $woocommerce;
$total_amount = $woocommerce->cart->cart_contents_total+$woocommerce->cart->tax_total;
//key : up to km (distance), value: minimum order amount//
$minimum_delivery = array();
$minimum_delivery[2] = 10;
$minimum_delivery[3] = 15;
$minimum_amount_required = 0;
$found = false;
foreach($minimum_delivery as $up_to_km => $min_amount)
{
if($distance_km <= $up_to_km)
{
$minimum_amount_required = $min_amount;
$found = true;
break;
}
}
if($found)
{
if ($total_amount <$minimum_amount_required )
{
wc_add_notice(
sprintf( __( 'You must have an order with a minimum of %s to place your order, your current order total is %s.', 'woofood-plugin' ) ,
wc_price( $minimum_amount_required ),
wc_price( $total_amount )
), 'error'
);
}
}
else
{
wc_add_notice(
__( 'We are not delivering to your location', 'woofood-plugin' ), 'error'
);
}
}