Tribe__Events__Repositories__Event::filter_by_starts_and_ends_between( string|DateTime|int $start_datetime, string|DateTime|int $end_datetime, string|DateTimeZone $timezone = null )
Filters events whose start and end dates occur between a set of dates.
Contents
Fetch is inclusive.
Parameters
- $start_datetime
-
(string|DateTime|int) (Required) A
strtotime
parse-able string, a DateTime object or a timestamp. - $end_datetime
-
(string|DateTime|int) (Required) A
strtotime
parse-able string, a DateTime object or a timestamp. - $timezone
-
(string|DateTimeZone) (Optional) A timezone string, UTC offset or DateTimeZone object; defaults to the site timezone; this parameter is ignored if the
$datetime
parameter is a DatTime object.Default value: null
Return
(array) An array of arguments that should be added to the WP_Query object.
Source
File: src/Tribe/Repositories/Event.php
public function filter_by_starts_and_ends_between( $start_datetime, $end_datetime, $timezone = null ) { $start_date = Tribe__Date_Utils::build_date_object( $start_datetime, $timezone ) ->setTimezone( $this->normal_timezone ) ->format( Tribe__Date_Utils::DBDATETIMEFORMAT ); $end_date = Tribe__Date_Utils::build_date_object( $end_datetime, $timezone ) ->setTimezone( $this->normal_timezone ) ->format( Tribe__Date_Utils::DBDATETIMEFORMAT ); $interval = array( $start_date, $end_date ); return array( 'meta_query' => array( 'starts-ends-between' => array( 'starts-between' => array( 'key' => $this->start_meta_key, 'value' => $interval, 'compare' => 'BETWEEN', 'type' => 'DATETIME', ), 'relation' => 'AND', 'ends-between' => array( 'key' => $this->end_meta_key, 'value' => $interval, 'compare' => 'BETWEEN', 'type' => 'DATETIME', ), ), ), ); }
Changelog
Version | Description |
---|---|
4.9 | Introduced. |