Closed alexrollin closed 2 years ago
This can be achieved by PHP snippet.
/**
* Hide ongoing events from upcoming & ongoing events list.
*/
function gd_snippet_filter_event_types( $filters, $event_type, $alias, $date ) {
$now = $date . ' ' . date_i18n( 'H:i:s' );
$filters['upcoming'] = "CONCAT( {$alias}start_date, ' ', {$alias}start_time ) > '{$now}' ";
$filters['ongoing'] = "( CONCAT( {$alias}start_date, ' ', {$alias}start_time ) <= '{$now}' ) AND ( CONCAT( {$alias}end_date, ' ', {$alias}end_time ) > '{$now}' OR CONCAT( {$alias}end_date, ' ', {$alias}end_time ) = '{$date} 00:00:00' ) ";
return $filters;
}
add_filter( 'geodir_event_type_query_filters', 'gd_snippet_filter_event_types', 10, 4 );
function gd_snippet_add_event_type( $options, $post_type ) {
$options['ongoing'] = __( 'Ongoing', 'geodirevents' );
return $options;
}
add_filter( 'geodir_event_filter_options', 'gd_snippet_add_event_type', 10, 4 );
Member wants to remove/filter out events that didn't start on "Today" or "Day/Time X"
Upcoming would be events on that and and after but nothing that started before that day/time.
Ongoing is for events that started on or before the day as well as upcoming.
https://secure.helpscout.net/conversation/1732855500/27638/