for whom having same problem.
1.you should set booking start date in “Date Range” (1st field)
2. open section “Misc Settings” and add following PHP code.
thanks, Alex
// you should set booking start date in "Date Range" (1st field)
//remap settings
add_filter('woe_settings_validate_defaults', function($settings){
if($settings['from_date']) {
$settings['book_start'] = date("Ymd", strtotime($settings['from_date']));
$settings['from_date'] = "";
}
return $settings;
});
//filter orders
add_filter( 'woe_sql_get_order_ids_where', function($where, $settings ){
global $wpdb;
$where[]= "orders.ID IN ( SELECT DISTINCT post_parent FROM {$wpdb->posts} WHERE ID IN (SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key='_booking_start' AND meta_value LIKE '{$settings['book_start']}%'))";
return $where;
},10,2);
//filter order items
add_filter( 'woe_skip_order_item', function($skip, $product, $item, $item_meta, $post ){
global $wpdb;
$booking_id = $wpdb->get_var( "SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key= '_booking_order_item_id' AND meta_value=" . intval( $item->get_id() ) );
if( $booking_id ) {
$book_start_time = $wpdb->get_var( "SELECT meta_value FROM {$wpdb->postmeta} WHERE meta_key= '_booking_start' AND post_id=" . $booking_id );
// it's string in format 20200601000000
if( substr($book_start_time,0,8) !=WC_Order_Export_Engine::$current_job_settings['book_start'])
$skip=true;
}
return $skip;
},10,5);
?