Ticket #26653: 26653.diff
File 26653.diff, 2.4 KB (added by , 11 years ago) |
---|
-
src/wp-includes/date.php
48 48 /** 49 49 * Constructor. 50 50 * 51 * @since 3.7.0 52 * @since 4.0.0 The $inclusive logic was updated to include all times within the date range. 53 * 51 54 * @param array $date_query { 52 55 * One or more associative arrays of date query parameters. 53 56 * … … 235 238 236 239 $compare = $this->get_compare( $query ); 237 240 241 $inclusive = ! empty( $query['inclusive'] ); 242 243 // Assign greater- and less-than values. 238 244 $lt = '<'; 239 245 $gt = '>'; 240 if ( ! empty( $query['inclusive'] ) ) { 246 247 if ( $inclusive ) { 241 248 $lt .= '='; 242 249 $gt .= '='; 243 250 } 244 251 245 252 // Range queries 246 253 if ( ! empty( $query['after'] ) ) 247 $where_parts[] = $wpdb->prepare( "$column $gt %s", $this->build_mysql_datetime( $query['after'], true ) );254 $where_parts[] = $wpdb->prepare( "$column $gt %s", $this->build_mysql_datetime( $query['after'], ! $inclusive ) ); 248 255 249 256 if ( ! empty( $query['before'] ) ) 250 $where_parts[] = $wpdb->prepare( "$column $lt %s", $this->build_mysql_datetime( $query['before'], false ) );257 $where_parts[] = $wpdb->prepare( "$column $lt %s", $this->build_mysql_datetime( $query['before'], $inclusive ) ); 251 258 252 259 // Specific value queries 253 260 -
tests/phpunit/tests/query/dateQuery.php
254 254 $this->assertEquals( $expected_dates, wp_list_pluck( $posts, 'post_date' ) ); 255 255 } 256 256 257 public function test_date_query_inclusive_between_dates() { 258 $posts = $this->_get_query_result( array( 259 'date_query' => array( 260 'after' => array( 261 'year' => 2007, 262 'month' => 1 263 ), 264 'before' => array( 265 'year' => 2008, 266 'month' => 12 267 ), 268 'inclusive' => true 269 ), 270 ) ); 271 272 273 $expected_dates = array( 274 '2007-01-22 03:49:21', 275 '2007-05-16 17:32:22', 276 '2007-09-24 07:17:23', 277 '2008-03-29 09:04:25', 278 '2008-07-15 11:32:26', 279 '2008-12-10 13:06:27', 280 ); 281 282 $this->assertEquals( $expected_dates, wp_list_pluck( $posts, 'post_date' ) ); 283 } 284 257 285 public function test_date_query_year_expecting_results() { 258 286 $posts = $this->_get_query_result( array( 259 287 'date_query' => array(