Minimum Order Amount Based on Distance with WooFood
January 19, 2021
TutorialsWooFood
woocommerce food orderingwordpress food ordering plugin
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'
);
}
}