X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/0461a5f2e55c8d5f1fde96ca2e83117152573c7d..9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f:/wp-includes/date.php diff --git a/wp-includes/date.php b/wp-includes/date.php index 99bbb4e0..a060239e 100644 --- a/wp-includes/date.php +++ b/wp-includes/date.php @@ -48,6 +48,9 @@ class WP_Date_Query { /** * Constructor. * + * @since 3.7.0 + * @since 4.0.0 The $inclusive logic was updated to include all times within the date range. + * * @param array $date_query { * One or more associative arrays of date query parameters. * @@ -81,7 +84,7 @@ class WP_Date_Query { * Default (string:empty)|(array:last day of month). Accepts numbers 1-31. * } * @type string $column Optional. Used to add a clause comparing a column other than the column - * specified in the top-level $column paramater. Default is the value + * specified in the top-level $column parameter. Default is the value * of top-level $column. Accepts 'post_date', 'post_date_gmt', * 'post_modified', 'post_modified_gmt', 'comment_date', 'comment_date_gmt'. * @type string $compare Optional. The comparison operator. Default '='. Accepts '=', '!=', @@ -105,7 +108,7 @@ class WP_Date_Query { * Accepts 'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt', * 'comment_date', 'comment_date_gmt'. */ - function __construct( $date_query, $default_column = 'post_date' ) { + public function __construct( $date_query, $default_column = 'post_date' ) { if ( empty( $date_query ) || ! is_array( $date_query ) ) return; @@ -235,19 +238,23 @@ class WP_Date_Query { $compare = $this->get_compare( $query ); + $inclusive = ! empty( $query['inclusive'] ); + + // Assign greater- and less-than values. $lt = '<'; $gt = '>'; - if ( ! empty( $query['inclusive'] ) ) { + + if ( $inclusive ) { $lt .= '='; $gt .= '='; } // Range queries if ( ! empty( $query['after'] ) ) - $where_parts[] = $wpdb->prepare( "$column $gt %s", $this->build_mysql_datetime( $query['after'], true ) ); + $where_parts[] = $wpdb->prepare( "$column $gt %s", $this->build_mysql_datetime( $query['after'], ! $inclusive ) ); if ( ! empty( $query['before'] ) ) - $where_parts[] = $wpdb->prepare( "$column $lt %s", $this->build_mysql_datetime( $query['before'], false ) ); + $where_parts[] = $wpdb->prepare( "$column $lt %s", $this->build_mysql_datetime( $query['before'], $inclusive ) ); // Specific value queries @@ -256,16 +263,12 @@ class WP_Date_Query { if ( isset( $query['month'] ) && $value = $this->build_value( $compare, $query['month'] ) ) $where_parts[] = "MONTH( $column ) $compare $value"; - - // Legacy - if ( isset( $query['monthnum'] ) && $value = $this->build_value( $compare, $query['monthnum'] ) ) + else if ( isset( $query['monthnum'] ) && $value = $this->build_value( $compare, $query['monthnum'] ) ) $where_parts[] = "MONTH( $column ) $compare $value"; if ( isset( $query['week'] ) && false !== ( $value = $this->build_value( $compare, $query['week'] ) ) ) $where_parts[] = _wp_mysql_week( $column ) . " $compare $value"; - - // Legacy - if ( isset( $query['w'] ) && false !== ( $value = $this->build_value( $compare, $query['w'] ) ) ) + else if ( isset( $query['w'] ) && false !== ( $value = $this->build_value( $compare, $query['w'] ) ) ) $where_parts[] = _wp_mysql_week( $column ) . " $compare $value"; if ( isset( $query['dayofyear'] ) && $value = $this->build_value( $compare, $query['dayofyear'] ) )