Make WordPress Core


Ignore:
Timestamp:
07/01/2014 01:17:39 AM (12 years ago)
Author:
SergeyBiryukov
Message:

WP_Date_Query: The inclusive logic should include all times within the date range.

props mboynes, oso96_2000, DrewAPicture.
fixes #26653.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/date.php

    r28532 r28935  
    4848        /**
    4949         * Constructor.
     50         *
     51         * @since 3.7.0
     52         * @since 4.0.0 The $inclusive logic was updated to include all times within the date range.
    5053         *
    5154         * @param array $date_query {
    … …  
    236239                $compare = $this->get_compare( $query );
    237240
     241                $inclusive = ! empty( $query['inclusive'] );
     242
     243                // Assign greater- and less-than values.
    238244                $lt = '<';
    239245                $gt = '>';
    240                 if ( ! empty( $query['inclusive'] ) ) {
     246
     247                if ( $inclusive ) {
    241248                        $lt .= '=';
    242249                        $gt .= '=';
    … …  
    245252                // Range queries
    246253                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 ) );
    248255
    249256                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 ) );
    251258
    252259                // Specific value queries
Note: See TracChangeset for help on using the changeset viewer.