This changes is based on plugin Order Delivery Date Pro for WooCommerce Version 10.0.0 | By Tyche Softwares
Convert order delivery time to days

the day difference will still in hours, like 1 day=24hour, 2days=48hours
1. This part for minimum delivery date
open text file at plugin->Plugin File Editor or through FTP
find plugin Order Delivery Date Pro for WooCommerce and find following file
includes/orddd-common.php
look for function name orddd_get_timeslot_display( $delivery_date, $setting_id, $common_ids = array(), $vendor_id = 0 ){ } around line 7300
search for variable in the function
$custom_settings = orddd_custom_delivery_functions::orddd_get_delivery_schedule_settings_by_id( $setting_id, $vendor_id );
copy paste code below as after the code
copy paste code below as after the code
/*custom here*/
if( !empty($custom_settings['minimum_delivery_time']) && $custom_settings['minimum_delivery_time']!=0 ){
if(!empty($option_data)){
$option_data_temp = $option_data;
} $option_data = $custom_settings['minimum_delivery_time'];
$gmt = false;
if ( has_filter( 'orddd_gmt_calculations' ) ) {
$gmt = apply_filters( 'orddd_gmt_calculations', '' );
}
$current_time = current_time( 'timestamp', $gmt );
$delivery_time = $current_time + $option_data;
$start_of_delivery_day = strtotime(date('Y-m-d',strtotime('+'.$option_data.' hour' , $current_time)));
$difference = $start_of_delivery_day - $current_time;
$custom_settings['minimum_delivery_time'] = $difference / 60 / 60;
if ($custom_settings['minimum_delivery_time'] < 0){
$custom_settings['minimum_delivery_time'] = 0;
}
}
2. can be skip if no extra shipping method added.
Example of extra shipping method

2. This part for self-collection
find plugin Order Delivery Date Pro for WooCommerce and find following file
includes/orddd-common.php
look for function name orddd_get_option( $option_key, $default_data = ”, $vendor_id = ” ){ } around line 10700
search for variable in the function
$option_data = get_option( $option_key, $default_data );
copy paste code below as after the code
if ($option_key == 'orddd_minimumOrderDays'){
$gmt = false;
if ( has_filter( 'orddd_gmt_calculations' ) ) {
$gmt = apply_filters( 'orddd_gmt_calculations', '' );
}
$current_time = current_time( 'timestamp', $gmt );
$delivery_time = $current_time + $option_data;
$start_of_delivery_day = strtotime(date('Y-m-d',strtotime('+'.$option_data.' hour' , $current_time)));
$difference = $start_of_delivery_day - $current_time;
$option_data = $difference / 60 / 60;
if ($option_data < 0){
$option_data = 0;
}
}
3. This part for Validation
find plugin Order Delivery Date Pro for WooCommerce and find following file
includes/orddd-process.php
look for function name orddd_validate_available_time( $data, $errors ){ } around line 4600
search for condition
if ( ( ‘on’ === orddd_common::orddd_get_option( ‘orddd_enable_delivery_date’, ”, $vendor_id ) || ( ‘Yes’ == $shipping_settings_exists && isset( $shipping_settings_to_check[‘enable_shipping_based_delivery’] ) && ‘on’ === $shipping_settings_to_check[‘enable_shipping_based_delivery’] ) ) && ! ( empty( $delivery_date ) || ‘select’ == $delivery_date ) ){}
BEFORE code $min_time_in_secs = $cut_off_mdt * 60 * 60;
copy paste code below as after the code
$gmt = false;
if ( has_filter( 'orddd_gmt_calculations' ) ) {
$gmt = apply_filters( 'orddd_gmt_calculations', '' );
}
$current_time = current_time( 'timestamp', $gmt );
$delivery_time = $current_time + $cut_off_mdt;
$start_of_delivery_day = strtotime(date('Y-m-d',strtotime('+'.$cut_off_mdt.' hour' , $current_time)));
$difference = $start_of_delivery_day - $current_time;
$cut_off_mdt = $difference / 60 / 60;
if ($cut_off_mdt < 0){
$cut_off_mdt = 0;
}
