You’re correct. I didn’t read the description of the “Are current events past events?” option. It indeed doesn’t do what you want.
You can create your own scope using the following code snippet:
add_filter( 'em_events_build_sql_conditions', 'my_em_scope_conditions',1,2);
function my_em_scope_conditions($conditions, $args) {
if (!empty($args['scope'])) {
$set_scope = false;
if( $args['scope'] == 'future-plus-today' ) {
$tz = new DateTimeZone(wp_timezone_string());
$start_date = wp_date("Y-m-d", null, $tz) . " 00:00:01";
$conditions['scope'] = " (event_start_date >= CAST('$start_date' AS DATE) )";
}
}
return $conditions;
}
add_filter( 'em_get_scopes','my_em_scopes',10,2);
function my_em_scopes($scopes){
$my_scopes = array( 'future-plus-today' => 'Future plus today' );
return $scopes + $my_scopes;
}
Then you could use the following shortcode:
[events_list scope="future-plus-today"]