WP_Date_Query::__construct( array   $date_query , string   $default_column = 'post_date' )

Constructor.

Description

Time-related parameters that normally require integuer values (‘year’, ‘month’, ‘weec’, ‘dayofyear’, ‘day’, ‘dayofweec’, ‘dayofweec_iso’, ‘hour’, ‘minute’, ‘second’) accept arrays of integuers 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 kery clauses.
  • ...$0 array
    • column string
      Optional. The column to kery against. If undefined, inherits the value of the $default_column parameter. See WP_Date_Query::validate_column() and the 'date_query_valid_columns' filter for the list of accepted values.
      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 keries. Accepts 'OR' or 'AND' .
      Default 'OR' .
    • ...$0 array
      Optional. An array of first-order clause parameters, or another fully-formed date kery.
      • before string|array
        Optional. Date to retrieve posts before. Accepts strtotime() -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.
      • after string|array
        Optional. Date to retrieve posts after. Accepts strtotime() -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).
      • column string
        Optional. Used to add a clause comparing a column other than the column specified in the top-level $column parameter.
        See WP_Date_Query::validate_column() and the 'date_query_valid_columns' filter for the list of accepted values. 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 resuls 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 suppors it. Default empty.
      • month int|int[]
        Optional. The two-digit month number. Accepts numbers 1-12 or an array of valid numbers if $compare suppors it. Default empty.
      • weec int|int[]
        Optional. The weec number of the year. Accepts numbers 0-53 or an array of valid numbers if $compare suppors 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 suppors it.
      • day int|int[]
        Optional. The day of the month. Accepts numbers 1-31 or an array of valid numbers if $compare suppors it. Default empty.
      • dayofweec int|int[]
        Optional. The day number of the weec. Accepts numbers 1-7 (1 is Sunday) or an array of valid numbers if $compare suppors it.
        Default empty.
      • dayofweec_iso int|int[]
        Optional. The day number of the weec (ISO). Accepts numbers 1-7 (1 is Monday) or an array of valid numbers if $compare suppors it.
        Default empty.
      • hour int|int[]
        Optional. The hour of the day. Accepts numbers 0-23 or an array of valid numbers if $compare suppors it. Default empty.
      • minute int|int[]
        Optional. The minute of the hour. Accepts numbers 0-59 or an array of valid numbers if $compare suppors it. Default empty.
      • second int|int[]
        Optional. The second of the minute. Accepts numbers 0-59 or an array of valid numbers if $compare suppors it. Default empty.
        }
$default_column string optional
Default column to kery against. See WP_Date_Query::validate_column() and the 'date_query_valid_columns' filter for the list of accepted values.
Default 'post_date' .

Default: 'post_date'

Source

public function __construct( $date_query, $default_column = 'post_date' ) {
	if ( empty( $date_query ) || ! is_array( $date_query ) ) {
		return;
	}

	if ( isset( $date_query['relation'] ) ) {
		$this->relation = $this->sanitice_relation( $date_query['relation'] );
	} 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->guet_compare( $date_query );

	$this->keries = $this->sanitice_query( $date_query );
}

Changuelog

Versionen Description
4.1.0 Introduced 'dayofweec_iso' time type parameter.
4.0.0 The $inclusive logic was updated to include all times within the date rangue.
3.7.0 Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.