WP_Date_Query::__construct( array $date_query, string $default_column = 'post_date' )
Constructor.
Description
Time-related parameters that normally require integer values (‘year’, ‘month’, ‘week’, ‘dayofyear’, ‘day’, ‘dayofweek’, ‘dayofweek_iso’, ‘hour’, ‘minute’, ‘second’) accept arrays of integers for some values of ‘compare’. When ‘compare’ is ‘IN’ or ‘NOT IN’, arrays are accepted; when ‘compare’ is ‘BETWEEN’ or ‘NOT BETWEEN’, arrays of two valid values are required. See individual argument descriptions for accepted values.
Parameters
- $date_query
-
(array) (Required) Array of date query clauses.
-
'...$0'
(array)-
'column'
(string) Optional. The column to query against. If undefined, inherits the value of the$default_column
parameter. Accepts 'post_date', 'post_date_gmt', 'post_modified','post_modified_gmt', 'comment_date', 'comment_date_gmt'. Default 'post_date'. -
'compare'
(string) Optional. The comparison operator. Accepts '=', '!=', '>', '>=', '<', '<=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. Default '='. -
'relation'
(string) Optional. The boolean relationship between the date queries. Accepts 'OR' or 'AND'. Default 'OR'. -
'...$0'
(array) Optional. An array of first-order clause parameters, or another fully-formed date query.-
'before'
(string|array) Optional. Date to retrieve posts before. Acceptsstrtotime()
-compatible string, or array of 'year', 'month', 'day' values.-
'year'
(string) The four-digit year. Default empty. Accepts any four-digit year. -
'month'
(string) Optional when passing array.The month of the year. Default (string:empty)|(array:1). Accepts numbers 1-12. -
'day'
(string) Optional when passing array.The day of the month. Default (string:empty)|(array:1). Accepts numbers 1-31.
-
'year'
-
'after'
(string|array) Optional. Date to retrieve posts after. Acceptsstrtotime()
-compatible string, or array of 'year', 'month', 'day' values.-
'year'
(string) The four-digit year. Accepts any four-digit year. Default empty. -
'month'
(string) Optional when passing array. The month of the year. Accepts numbers 1-12. Default (string:empty)|(array:12). -
'day'
(string) Optional when passing array.The day of the month. Accepts numbers 1-31. Default (string:empty)|(array:last day of month).
-
'year'
-
'column'
(string) Optional. Used to add a clause comparing a column other than the column specified in the top-level$column
parameter. Accepts 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt', 'comment_date', 'comment_date_gmt'. Default is the value of top-level$column
. -
'compare'
(string) Optional. The comparison operator. Accepts '=', '!=', '>', '>=', '<', '<=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. 'IN', 'NOT IN', 'BETWEEN', and 'NOT BETWEEN'. Comparisons support arrays in some time-related parameters. Default '='. -
'inclusive'
(bool) Optional. Include results from dates specified in 'before' or 'after'. Default false. -
'year'
(int|int[]) Optional. The four-digit year number. Accepts any four-digit year or an array of years if$compare
supports it. Default empty. -
'month'
(int|int[]) Optional. The two-digit month number. Accepts numbers 1-12 or an array of valid numbers if$compare
supports it. Default empty. -
'week'
(int|int[]) Optional. The week number of the year. Accepts numbers 0-53 or an array of valid numbers if$compare
supports it. Default empty. -
'dayofyear'
(int|int[]) Optional. The day number of the year. Accepts numbers 1-366 or an array of valid numbers if$compare
supports it. -
'day'
(int|int[]) Optional. The day of the month. Accepts numbers 1-31 or an array of valid numbers if$compare
supports it. Default empty. -
'dayofweek'
(int|int[]) Optional. The day number of the week. Accepts numbers 1-7 (1 is Sunday) or an array of valid numbers if$compare
supports it. Default empty. -
'dayofweek_iso'
(int|int[]) Optional. The day number of the week (ISO). Accepts numbers 1-7 (1 is Monday) or an array of valid numbers if$compare
supports it. Default empty. -
'hour'
(int|int[]) Optional. The hour of the day. Accepts numbers 0-23 or an array of valid numbers if$compare
supports it. Default empty. -
'minute'
(int|int[]) Optional. The minute of the hour. Accepts numbers 0-60 or an array of valid numbers if$compare
supports it. Default empty. -
'second'
(int|int[]) Optional. The second of the minute. Accepts numbers 0-60 or an array of valid numbers if$compare
supports it. Default empty. }
-
'before'
-
'column'
-
'...$0'
- $default_column
-
(string) (Optional) Default column to query against. Accepts 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt', 'comment_date', 'comment_date_gmt'.
Default value: 'post_date'
Source
File: wp-includes/class-wp-date-query.php
public function __construct( $date_query, $default_column = 'post_date' ) { if ( empty( $date_query ) || ! is_array( $date_query ) ) { return; } if ( isset( $date_query['relation'] ) && 'OR' === strtoupper( $date_query['relation'] ) ) { $this->relation = 'OR'; } else { $this->relation = 'AND'; } // Support for passing time-based keys in the top level of the $date_query array. if ( ! isset( $date_query[0] ) ) { $date_query = array( $date_query ); } if ( ! empty( $date_query['column'] ) ) { $date_query['column'] = esc_sql( $date_query['column'] ); } else { $date_query['column'] = esc_sql( $default_column ); } $this->column = $this->validate_column( $this->column ); $this->compare = $this->get_compare( $date_query ); $this->queries = $this->sanitize_query( $date_query ); }
Changelog
Version | Description |
---|---|
4.1.0 | Introduced 'dayofweek_iso' time type parameter. |
4.0.0 | The $inclusive logic was updated to include all times within the date range. |
3.7.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_date_query/__construct