Minimum Order Amount Based on Distance with WooFood

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' 
            );



      }






}