Make WordPress Core


Ignore:
Timestamp:
11/30/2017 11:09:33 PM (7 years ago)
Author:
pento
Message:

Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/query/metaQuery.php

    r38938 r42343  
    1515        add_post_meta( $p3, 'oof', 'baz' );
    1616
    17         $query = new WP_Query( array(
    18             'update_post_meta_cache' => false,
    19             'update_post_term_cache' => false,
    20             'fields' => 'ids',
    21             'meta_query' => array(
    22                 array(
    23                     'value' => 'bar',
    24                 ),
    25             ),
    26         ) );
     17        $query = new WP_Query(
     18            array(
     19                'update_post_meta_cache' => false,
     20                'update_post_term_cache' => false,
     21                'fields'                 => 'ids',
     22                'meta_query'             => array(
     23                    array(
     24                        'value' => 'bar',
     25                    ),
     26                ),
     27            )
     28        );
    2729
    2830        $expected = array( $p1, $p2 );
     
    3941        add_post_meta( $p3, 'oof', 'baz' );
    4042
    41         $query = new WP_Query( array(
    42             'update_post_meta_cache' => false,
    43             'update_post_term_cache' => false,
    44             'fields' => 'ids',
    45             'meta_query' => array(
    46                 array(
    47                     'key' => 'oof',
    48                 ),
    49             ),
    50         ) );
     43        $query = new WP_Query(
     44            array(
     45                'update_post_meta_cache' => false,
     46                'update_post_term_cache' => false,
     47                'fields'                 => 'ids',
     48                'meta_query'             => array(
     49                    array(
     50                        'key' => 'oof',
     51                    ),
     52                ),
     53            )
     54        );
    5155
    5256        $expected = array( $p2, $p3 );
     
    6064        add_post_meta( $p1, 'foo', 'bar' );
    6165
    62         $query = new WP_Query( array(
    63             'update_post_meta_cache' => false,
    64             'update_post_term_cache' => false,
    65             'fields' => 'ids',
    66             'meta_query' => array(
    67                 array(
    68                     'key' => 'foo',
    69                     'value' => 'bar',
    70                 ),
    71             ),
    72         ) );
     66        $query = new WP_Query(
     67            array(
     68                'update_post_meta_cache' => false,
     69                'update_post_term_cache' => false,
     70                'fields'                 => 'ids',
     71                'meta_query'             => array(
     72                    array(
     73                        'key'   => 'foo',
     74                        'value' => 'bar',
     75                    ),
     76                ),
     77            )
     78        );
    7379
    7480        $expected = array( $p1 );
     
    8288        add_post_meta( $p1, 'foo', 'bar' );
    8389
    84         $query = new WP_Query( array(
    85             'update_post_meta_cache' => false,
    86             'update_post_term_cache' => false,
    87             'fields' => 'ids',
    88             'meta_query' => array(
    89                 array(
    90                     'key' => 'foo',
    91                     'value' => 'bar',
    92                     'compare' => '=',
    93                 ),
    94             ),
    95         ) );
     90        $query = new WP_Query(
     91            array(
     92                'update_post_meta_cache' => false,
     93                'update_post_term_cache' => false,
     94                'fields'                 => 'ids',
     95                'meta_query'             => array(
     96                    array(
     97                        'key'     => 'foo',
     98                        'value'   => 'bar',
     99                        'compare' => '=',
     100                    ),
     101                ),
     102            )
     103        );
    96104
    97105        $expected = array( $p1 );
     
    107115        add_post_meta( $p2, 'foo', 'baz' );
    108116
    109         $query = new WP_Query( array(
    110             'update_post_meta_cache' => false,
    111             'update_post_term_cache' => false,
    112             'fields' => 'ids',
    113             'meta_query' => array(
    114                 array(
    115                     'key' => 'foo',
    116                     'value' => 'bar',
    117                     'compare' => '!=',
    118                 ),
    119             ),
    120         ) );
     117        $query = new WP_Query(
     118            array(
     119                'update_post_meta_cache' => false,
     120                'update_post_term_cache' => false,
     121                'fields'                 => 'ids',
     122                'meta_query'             => array(
     123                    array(
     124                        'key'     => 'foo',
     125                        'value'   => 'bar',
     126                        'compare' => '!=',
     127                    ),
     128                ),
     129            )
     130        );
    121131
    122132        $expected = array( $p2 );
     
    134144
    135145        // <
    136         $query = new WP_Query( array(
    137             'update_post_meta_cache' => false,
    138             'update_post_term_cache' => false,
    139             'fields' => 'ids',
    140             'meta_query' => array(
    141                 array(
    142                     'key' => 'foo',
    143                     'value' => 2,
    144                     'compare' => '<',
    145                 ),
    146             ),
    147         ) );
     146        $query = new WP_Query(
     147            array(
     148                'update_post_meta_cache' => false,
     149                'update_post_term_cache' => false,
     150                'fields'                 => 'ids',
     151                'meta_query'             => array(
     152                    array(
     153                        'key'     => 'foo',
     154                        'value'   => 2,
     155                        'compare' => '<',
     156                    ),
     157                ),
     158            )
     159        );
    148160
    149161        $expected = array( $p1 );
     
    151163
    152164        // <=
    153         $query = new WP_Query( array(
    154             'update_post_meta_cache' => false,
    155             'update_post_term_cache' => false,
    156             'fields' => 'ids',
    157             'meta_query' => array(
    158                 array(
    159                     'key' => 'foo',
    160                     'value' => 2,
    161                     'compare' => '<=',
    162                 ),
    163             ),
    164         ) );
     165        $query = new WP_Query(
     166            array(
     167                'update_post_meta_cache' => false,
     168                'update_post_term_cache' => false,
     169                'fields'                 => 'ids',
     170                'meta_query'             => array(
     171                    array(
     172                        'key'     => 'foo',
     173                        'value'   => 2,
     174                        'compare' => '<=',
     175                    ),
     176                ),
     177            )
     178        );
    165179
    166180        $expected = array( $p1, $p2 );
     
    168182
    169183        // >=
    170         $query = new WP_Query( array(
    171             'update_post_meta_cache' => false,
    172             'update_post_term_cache' => false,
    173             'fields' => 'ids',
    174             'meta_query' => array(
    175                 array(
    176                     'key' => 'foo',
    177                     'value' => 2,
    178                     'compare' => '>=',
    179                 ),
    180             ),
    181         ) );
     184        $query = new WP_Query(
     185            array(
     186                'update_post_meta_cache' => false,
     187                'update_post_term_cache' => false,
     188                'fields'                 => 'ids',
     189                'meta_query'             => array(
     190                    array(
     191                        'key'     => 'foo',
     192                        'value'   => 2,
     193                        'compare' => '>=',
     194                    ),
     195                ),
     196            )
     197        );
    182198
    183199        $expected = array( $p2, $p3 );
     
    185201
    186202        // >
    187         $query = new WP_Query( array(
    188             'update_post_meta_cache' => false,
    189             'update_post_term_cache' => false,
    190             'fields' => 'ids',
    191             'meta_query' => array(
    192                 array(
    193                     'key' => 'foo',
    194                     'value' => 2,
    195                     'compare' => '>',
    196                 ),
    197             ),
    198         ) );
     203        $query = new WP_Query(
     204            array(
     205                'update_post_meta_cache' => false,
     206                'update_post_term_cache' => false,
     207                'fields'                 => 'ids',
     208                'meta_query'             => array(
     209                    array(
     210                        'key'     => 'foo',
     211                        'value'   => 2,
     212                        'compare' => '>',
     213                    ),
     214                ),
     215            )
     216        );
    199217
    200218        $expected = array( $p3 );
     
    208226        add_post_meta( $p1, 'foo', 'bar' );
    209227
    210         $query = new WP_Query( array(
    211             'update_post_meta_cache' => false,
    212             'update_post_term_cache' => false,
    213             'fields' => 'ids',
    214             'meta_query' => array(
    215                 array(
    216                     'key' => 'foo',
    217                     'value' => 'ba',
    218                     'compare' => 'LIKE',
    219                 ),
    220             ),
    221         ) );
     228        $query = new WP_Query(
     229            array(
     230                'update_post_meta_cache' => false,
     231                'update_post_term_cache' => false,
     232                'fields'                 => 'ids',
     233                'meta_query'             => array(
     234                    array(
     235                        'key'     => 'foo',
     236                        'value'   => 'ba',
     237                        'compare' => 'LIKE',
     238                    ),
     239                ),
     240            )
     241        );
    222242
    223243        $expected = array( $p1 );
     
    233253        add_post_meta( $p2, 'foo', 'rab' );
    234254
    235         $query = new WP_Query( array(
    236             'update_post_meta_cache' => false,
    237             'update_post_term_cache' => false,
    238             'fields' => 'ids',
    239             'meta_query' => array(
    240                 array(
    241                     'key' => 'foo',
    242                     'value' => 'ba',
    243                     'compare' => 'NOT LIKE',
    244                 ),
    245             ),
    246         ) );
     255        $query = new WP_Query(
     256            array(
     257                'update_post_meta_cache' => false,
     258                'update_post_term_cache' => false,
     259                'fields'                 => 'ids',
     260                'meta_query'             => array(
     261                    array(
     262                        'key'     => 'foo',
     263                        'value'   => 'ba',
     264                        'compare' => 'NOT LIKE',
     265                    ),
     266                ),
     267            )
     268        );
    247269
    248270        $expected = array( $p2 );
     
    259281        add_post_meta( $p3, 'foo', '100' );
    260282
    261         $query = new WP_Query( array(
    262             'update_post_meta_cache' => false,
    263             'update_post_term_cache' => false,
    264             'fields' => 'ids',
    265             'meta_query' => array(
    266                 array(
    267                     'key' => 'foo',
    268                     'value' => array( 9, 12 ),
    269                     'compare' => 'BETWEEN',
    270                     'type' => 'NUMERIC',
    271                 ),
    272             ),
    273         ) );
     283        $query = new WP_Query(
     284            array(
     285                'update_post_meta_cache' => false,
     286                'update_post_term_cache' => false,
     287                'fields'                 => 'ids',
     288                'meta_query'             => array(
     289                    array(
     290                        'key'     => 'foo',
     291                        'value'   => array( 9, 12 ),
     292                        'compare' => 'BETWEEN',
     293                        'type'    => 'NUMERIC',
     294                    ),
     295                ),
     296            )
     297        );
    274298
    275299        $expected = array( $p2 );
    276300        $this->assertEqualSets( $expected, $query->posts );
    277301
    278         $query = new WP_Query( array(
    279             'update_post_meta_cache' => false,
    280             'update_post_term_cache' => false,
    281             'fields' => 'ids',
    282             'meta_query' => array(
    283                 array(
    284                     'key' => 'foo',
    285                     'value' => array( 9, 12 ),
    286                     'compare' => 'NOT BETWEEN',
    287                     'type' => 'NUMERIC',
    288                 ),
    289             ),
    290         ) );
     302        $query = new WP_Query(
     303            array(
     304                'update_post_meta_cache' => false,
     305                'update_post_term_cache' => false,
     306                'fields'                 => 'ids',
     307                'meta_query'             => array(
     308                    array(
     309                        'key'     => 'foo',
     310                        'value'   => array( 9, 12 ),
     311                        'compare' => 'NOT BETWEEN',
     312                        'type'    => 'NUMERIC',
     313                    ),
     314                ),
     315            )
     316        );
    291317
    292318        $expected = array( $p1, $p3 );
     
    301327        add_post_meta( $p2, 'foo', 'baz' );
    302328
    303         $query = new WP_Query( array(
    304             'update_post_meta_cache' => false,
    305             'update_post_term_cache' => false,
    306             'fields' => 'ids',
    307             'meta_query' => array(
    308                 array(
    309                     'key' => 'foo',
    310                     'value' => 'z$',
    311                     'compare' => 'REGEXP',
    312                 ),
    313             ),
    314         ) );
     329        $query = new WP_Query(
     330            array(
     331                'update_post_meta_cache' => false,
     332                'update_post_term_cache' => false,
     333                'fields'                 => 'ids',
     334                'meta_query'             => array(
     335                    array(
     336                        'key'     => 'foo',
     337                        'value'   => 'z$',
     338                        'compare' => 'REGEXP',
     339                    ),
     340                ),
     341            )
     342        );
    315343
    316344        $expected = array( $p2 );
     
    318346
    319347        // RLIKE is a synonym for REGEXP.
    320         $query = new WP_Query( array(
    321             'update_post_meta_cache' => false,
    322             'update_post_term_cache' => false,
    323             'fields' => 'ids',
    324             'meta_query' => array(
    325                 array(
    326                     'key' => 'foo',
    327                     'value' => 'z$',
    328                     'compare' => 'RLIKE',
    329                 ),
    330             ),
    331         ) );
     348        $query = new WP_Query(
     349            array(
     350                'update_post_meta_cache' => false,
     351                'update_post_term_cache' => false,
     352                'fields'                 => 'ids',
     353                'meta_query'             => array(
     354                    array(
     355                        'key'     => 'foo',
     356                        'value'   => 'z$',
     357                        'compare' => 'RLIKE',
     358                    ),
     359                ),
     360            )
     361        );
    332362
    333363        $expected = array( $p2 );
     
    342372        add_post_meta( $p2, 'foo', 'baz' );
    343373
    344         $query = new WP_Query( array(
    345             'update_post_meta_cache' => false,
    346             'update_post_term_cache' => false,
    347             'fields' => 'ids',
    348             'meta_query' => array(
    349                 array(
    350                     'key' => 'foo',
    351                     'value' => 'z$',
    352                     'compare' => 'NOT REGEXP',
    353                 ),
    354             ),
    355         ) );
     374        $query = new WP_Query(
     375            array(
     376                'update_post_meta_cache' => false,
     377                'update_post_term_cache' => false,
     378                'fields'                 => 'ids',
     379                'meta_query'             => array(
     380                    array(
     381                        'key'     => 'foo',
     382                        'value'   => 'z$',
     383                        'compare' => 'NOT REGEXP',
     384                    ),
     385                ),
     386            )
     387        );
    356388
    357389        $expected = array( $p1 );
     
    369401        add_post_meta( $p2, 'bar', 'bar value 2' );
    370402
    371         $query = new WP_Query( array(
    372             'update_post_meta_cache' => false,
    373             'update_post_term_cache' => false,
    374             'fields' => 'ids',
    375             'meta_query' => array(
    376                 array(
    377                     'key' => 'foo',
    378                     'value' => 'foo value 1',
    379                 ),
    380                 array(
    381                     'key' => 'bar',
    382                     'value' => 'bar value 1',
    383                 ),
    384             ),
    385         ) );
     403        $query = new WP_Query(
     404            array(
     405                'update_post_meta_cache' => false,
     406                'update_post_term_cache' => false,
     407                'fields'                 => 'ids',
     408                'meta_query'             => array(
     409                    array(
     410                        'key'   => 'foo',
     411                        'value' => 'foo value 1',
     412                    ),
     413                    array(
     414                        'key'   => 'bar',
     415                        'value' => 'bar value 1',
     416                    ),
     417                ),
     418            )
     419        );
    386420
    387421        $expected = array( $p1 );
     
    409443        add_post_meta( $post_id6, 'bar', 'bar_val_2' );
    410444
    411         $query = new WP_Query( array(
    412             'update_post_meta_cache' => false,
    413             'update_post_term_cache' => false,
    414             'fields' => 'ids',
    415             'meta_query' => array(
    416                 array(
    417                     'key' => 'foo'
    418                 ),
    419                 array(
    420                     'key' => 'bar',
    421                     'value' => 'bar_val_1'
    422                 ),
    423                 array(
    424                     'key' => 'baz'
    425                 ),
    426                 array(
    427                     'key' => 'froo'
    428                 ),
    429                 'relation' => 'OR',
    430             ),
    431         ) );
     445        $query = new WP_Query(
     446            array(
     447                'update_post_meta_cache' => false,
     448                'update_post_term_cache' => false,
     449                'fields'                 => 'ids',
     450                'meta_query'             => array(
     451                    array(
     452                        'key' => 'foo',
     453                    ),
     454                    array(
     455                        'key'   => 'bar',
     456                        'value' => 'bar_val_1',
     457                    ),
     458                    array(
     459                        'key' => 'baz',
     460                    ),
     461                    array(
     462                        'key' => 'froo',
     463                    ),
     464                    'relation' => 'OR',
     465                ),
     466            )
     467        );
    432468
    433469        $expected = array( $post_id, $post_id2, $post_id3, $post_id4 );
     
    463499        add_post_meta( $post_id7, 'bar', 'val_2' );
    464500
    465         $query = new WP_Query( array(
    466             'meta_query' => array(
    467                 array(
    468                     'key' => 'foo'
    469                 ),
    470                 array(
    471                     'key' => 'bar',
    472                     'value' => 'val_2'
    473                 ),
    474                 array(
    475                     'key' => 'baz'
    476                 ),
    477                 array(
    478                     'key' => 'froo'
    479                 ),
    480                 'relation' => 'AND',
    481             ),
    482             'update_post_meta_cache' => false,
    483             'update_post_term_cache' => false,
    484             'fields' => 'ids',
    485         ) );
     501        $query = new WP_Query(
     502            array(
     503                'meta_query'             => array(
     504                    array(
     505                        'key' => 'foo',
     506                    ),
     507                    array(
     508                        'key'   => 'bar',
     509                        'value' => 'val_2',
     510                    ),
     511                    array(
     512                        'key' => 'baz',
     513                    ),
     514                    array(
     515                        'key' => 'froo',
     516                    ),
     517                    'relation' => 'AND',
     518                ),
     519                'update_post_meta_cache' => false,
     520                'update_post_term_cache' => false,
     521                'fields'                 => 'ids',
     522            )
     523        );
    486524
    487525        $expected = array( $post_id7 );
    488526        $this->assertEqualSets( $expected, $query->posts );
    489527
    490         $query = new WP_Query( array(
    491             'meta_query' => array(
    492                 array(
    493                     'key' => 'foo'
    494                 ),
    495                 array(
    496                     'key' => 'bar',
    497                 ),
    498                 'relation' => 'AND',
    499             ),
    500             'update_post_meta_cache' => false,
    501             'update_post_term_cache' => false,
    502             'fields' => 'ids',
    503         ) );
     528        $query = new WP_Query(
     529            array(
     530                'meta_query'             => array(
     531                    array(
     532                        'key' => 'foo',
     533                    ),
     534                    array(
     535                        'key' => 'bar',
     536                    ),
     537                    'relation' => 'AND',
     538                ),
     539                'update_post_meta_cache' => false,
     540                'update_post_term_cache' => false,
     541                'fields'                 => 'ids',
     542            )
     543        );
    504544
    505545        $expected = array( $post_id2, $post_id6, $post_id7 );
     
    515555        add_post_meta( $posts[2], 'foo', 'baz' );
    516556
    517         $query = new WP_Query( array(
    518             'fields' => 'ids',
    519             'meta_query' => array(
    520                 array(
    521                     'compare' => 'EXISTS',
    522                     'key' => 'foo',
    523                 ),
    524             ),
    525         ) );
     557        $query = new WP_Query(
     558            array(
     559                'fields'     => 'ids',
     560                'meta_query' => array(
     561                    array(
     562                        'compare' => 'EXISTS',
     563                        'key'     => 'foo',
     564                    ),
     565                ),
     566            )
     567        );
    526568
    527569        $this->assertEqualSets( array( $posts[0], $posts[2] ), $query->posts );
     
    536578        add_post_meta( $posts[2], 'foo', 'baz' );
    537579
    538         $query = new WP_Query( array(
    539             'fields' => 'ids',
    540             'meta_query' => array(
    541                 array(
    542                     'compare' => 'EXISTS',
    543                     'value' => 'baz',
    544                     'key' => 'foo',
    545                 ),
    546             ),
    547         ) );
     580        $query = new WP_Query(
     581            array(
     582                'fields'     => 'ids',
     583                'meta_query' => array(
     584                    array(
     585                        'compare' => 'EXISTS',
     586                        'value'   => 'baz',
     587                        'key'     => 'foo',
     588                    ),
     589                ),
     590            )
     591        );
    548592
    549593        $this->assertEqualSets( array( $posts[2] ), $query->posts );
     
    558602        add_post_meta( $posts[2], 'foo', 'baz' );
    559603
    560         $query = new WP_Query( array(
    561             'fields' => 'ids',
    562             'meta_query' => array(
    563                 array(
    564                     'compare' => 'NOT EXISTS',
    565                     'value' => 'bar',
    566                     'key' => 'foo',
    567                 ),
    568             ),
    569         ) );
     604        $query = new WP_Query(
     605            array(
     606                'fields'     => 'ids',
     607                'meta_query' => array(
     608                    array(
     609                        'compare' => 'NOT EXISTS',
     610                        'value'   => 'bar',
     611                        'key'     => 'foo',
     612                    ),
     613                ),
     614            )
     615        );
    570616
    571617        $this->assertEqualSets( array( $posts[1] ), $query->posts );
     
    591637        add_post_meta( $post_id5, 'foo', 'foo_val_2' );
    592638
    593         $query = new WP_Query( array(
    594             'meta_query' => array(
    595                 array(
    596                     'key' => 'foo',
    597                     'compare' => 'NOT EXISTS',
    598                 ),
    599             ),
    600             'update_post_meta_cache' => false,
    601             'update_post_term_cache' => false,
    602             'fields' => 'ids',
    603         ) );
     639        $query = new WP_Query(
     640            array(
     641                'meta_query'             => array(
     642                    array(
     643                        'key'     => 'foo',
     644                        'compare' => 'NOT EXISTS',
     645                    ),
     646                ),
     647                'update_post_meta_cache' => false,
     648                'update_post_term_cache' => false,
     649                'fields'                 => 'ids',
     650            )
     651        );
    604652
    605653        $expected = array( $post_id2, $post_id3, $post_id4 );
    606654        $this->assertEqualSets( $expected, $query->posts );
    607655
    608         $query = new WP_Query( array(
    609             'meta_query' => array(
    610                 array(
    611                     'key' => 'foo',
    612                     'compare' => 'NOT EXISTS',
    613                 ),
    614                 array(
    615                     'key' => 'bar',
    616                     'compare' => 'NOT EXISTS',
    617                 ),
    618             ),
    619             'update_post_meta_cache' => false,
    620             'update_post_term_cache' => false,
    621             'fields' => 'ids',
    622         ) );
     656        $query = new WP_Query(
     657            array(
     658                'meta_query'             => array(
     659                    array(
     660                        'key'     => 'foo',
     661                        'compare' => 'NOT EXISTS',
     662                    ),
     663                    array(
     664                        'key'     => 'bar',
     665                        'compare' => 'NOT EXISTS',
     666                    ),
     667                ),
     668                'update_post_meta_cache' => false,
     669                'update_post_term_cache' => false,
     670                'fields'                 => 'ids',
     671            )
     672        );
    623673
    624674        $expected = array( $post_id4 );
    625675        $this->assertEquals( $expected, $query->posts );
    626676
    627         $query = new WP_Query( array(
    628             'meta_query' => array(
    629                 array(
    630                     'key' => 'foo',
    631                     'compare' => 'NOT EXISTS',
    632                 ),
    633                 array(
    634                     'key' => 'bar',
    635                     'compare' => 'NOT EXISTS',
    636                 ),
    637                 array(
    638                     'key' => 'baz',
    639                     'compare' => 'NOT EXISTS',
    640                 ),
    641             ),
    642             'update_post_meta_cache' => false,
    643             'update_post_term_cache' => false,
    644             'fields' => 'ids',
    645         ) );
     677        $query = new WP_Query(
     678            array(
     679                'meta_query'             => array(
     680                    array(
     681                        'key'     => 'foo',
     682                        'compare' => 'NOT EXISTS',
     683                    ),
     684                    array(
     685                        'key'     => 'bar',
     686                        'compare' => 'NOT EXISTS',
     687                    ),
     688                    array(
     689                        'key'     => 'baz',
     690                        'compare' => 'NOT EXISTS',
     691                    ),
     692                ),
     693                'update_post_meta_cache' => false,
     694                'update_post_term_cache' => false,
     695                'fields'                 => 'ids',
     696            )
     697        );
    646698
    647699        $this->assertEquals( 0, count( $query->posts ) );
     
    663715        }
    664716
    665         $query = new WP_Query( array(
    666             'meta_query' => array(
    667                 'relation' => 'OR',
    668                 array(
    669                     'key' => 'vegetable',
    670                     'value' => 'onion',
    671                 ),
    672                 array(
    673                     'key' => 'color',
    674                     'compare' => 'NOT EXISTS',
    675                 ),
    676             ),
    677             'update_post_meta_cache' => false,
    678             'update_post_term_cache' => false,
    679             'fields' => 'ids',
    680         ) );
     717        $query = new WP_Query(
     718            array(
     719                'meta_query'             => array(
     720                    'relation' => 'OR',
     721                    array(
     722                        'key'   => 'vegetable',
     723                        'value' => 'onion',
     724                    ),
     725                    array(
     726                        'key'     => 'color',
     727                        'compare' => 'NOT EXISTS',
     728                    ),
     729                ),
     730                'update_post_meta_cache' => false,
     731                'update_post_term_cache' => false,
     732                'fields'                 => 'ids',
     733            )
     734        );
    681735
    682736        $expected = array( $posts[1], $posts[2], $posts[3] );
     
    694748        add_post_meta( $posts[2], 'vegetable', 'shallot' );
    695749
    696         $query = new WP_Query( array(
    697             'meta_query' => array(
    698                 'relation' => 'OR',
    699                 array(
    700                     'key' => 'vegetable',
    701                     'value' => 'onion',
    702                     'compare' => '=',
    703                 ),
    704                 array(
    705                     'key' => 'vegetable',
    706                     'value' => 'shallot',
    707                     'compare' => '=',
    708                 ),
    709             ),
    710             'update_post_meta_cache' => false,
    711             'update_post_term_cache' => false,
    712             'fields' => 'ids',
    713         ) );
     750        $query = new WP_Query(
     751            array(
     752                'meta_query'             => array(
     753                    'relation' => 'OR',
     754                    array(
     755                        'key'     => 'vegetable',
     756                        'value'   => 'onion',
     757                        'compare' => '=',
     758                    ),
     759                    array(
     760                        'key'     => 'vegetable',
     761                        'value'   => 'shallot',
     762                        'compare' => '=',
     763                    ),
     764                ),
     765                'update_post_meta_cache' => false,
     766                'update_post_term_cache' => false,
     767                'fields'                 => 'ids',
     768            )
     769        );
    714770
    715771        $expected = array( $posts[1], $posts[2] );
     
    727783        add_post_meta( $posts[2], 'vegetable', 'shallot' );
    728784
    729         $query = new WP_Query( array(
    730             'meta_query' => array(
    731                 'relation' => 'OR',
    732                 array(
    733                     'key' => 'vegetable',
    734                     'value' => 'onion',
    735                     'compare' => '=',
    736                 ),
    737                 array(
    738                     'key' => 'color',
    739                     'value' => 'orange',
    740                     'compare' => '=',
    741                 ),
    742             ),
    743             'update_post_meta_cache' => false,
    744             'update_post_term_cache' => false,
    745             'fields' => 'ids',
    746         ) );
     785        $query = new WP_Query(
     786            array(
     787                'meta_query'             => array(
     788                    'relation' => 'OR',
     789                    array(
     790                        'key'     => 'vegetable',
     791                        'value'   => 'onion',
     792                        'compare' => '=',
     793                    ),
     794                    array(
     795                        'key'     => 'color',
     796                        'value'   => 'orange',
     797                        'compare' => '=',
     798                    ),
     799                ),
     800                'update_post_meta_cache' => false,
     801                'update_post_term_cache' => false,
     802                'fields'                 => 'ids',
     803            )
     804        );
    747805
    748806        $expected = array( $posts[0], $posts[1] );
     
    760818        add_post_meta( $posts[2], 'vegetable', 'shallot' );
    761819
    762         $query = new WP_Query( array(
    763             'meta_query' => array(
    764                 'relation' => 'OR',
    765                 array(
    766                     'key' => 'vegetable',
    767                     'value' => 'onion',
    768                     'compare' => '=',
    769                 ),
    770                 array(
    771                     'key' => 'color',
    772                     'value' => array( 'orange', 'green' ),
    773                     'compare' => 'IN',
    774                 ),
    775             ),
    776             'update_post_meta_cache' => false,
    777             'update_post_term_cache' => false,
    778             'fields' => 'ids',
    779         ) );
     820        $query = new WP_Query(
     821            array(
     822                'meta_query'             => array(
     823                    'relation' => 'OR',
     824                    array(
     825                        'key'     => 'vegetable',
     826                        'value'   => 'onion',
     827                        'compare' => '=',
     828                    ),
     829                    array(
     830                        'key'     => 'color',
     831                        'value'   => array( 'orange', 'green' ),
     832                        'compare' => 'IN',
     833                    ),
     834                ),
     835                'update_post_meta_cache' => false,
     836                'update_post_term_cache' => false,
     837                'fields'                 => 'ids',
     838            )
     839        );
    780840
    781841        $expected = array( $posts[0], $posts[1] );
     
    793853        add_post_meta( $posts[2], 'vegetable', 'shallot' );
    794854
    795         $query = new WP_Query( array(
    796             'meta_query' => array(
    797                 'relation' => 'OR',
    798                 array(
    799                     'key' => 'vegetable',
    800                     'value' => 'onion',
    801                     'compare' => '=',
    802                 ),
    803                 array(
    804                     'key' => 'vegetable',
    805                     'value' => 'hall',
    806                     'compare' => 'LIKE',
    807                 ),
    808             ),
    809             'update_post_meta_cache' => false,
    810             'update_post_term_cache' => false,
    811             'fields' => 'ids',
    812         ) );
     855        $query = new WP_Query(
     856            array(
     857                'meta_query'             => array(
     858                    'relation' => 'OR',
     859                    array(
     860                        'key'     => 'vegetable',
     861                        'value'   => 'onion',
     862                        'compare' => '=',
     863                    ),
     864                    array(
     865                        'key'     => 'vegetable',
     866                        'value'   => 'hall',
     867                        'compare' => 'LIKE',
     868                    ),
     869                ),
     870                'update_post_meta_cache' => false,
     871                'update_post_term_cache' => false,
     872                'fields'                 => 'ids',
     873            )
     874        );
    813875
    814876        $expected = array( $posts[1], $posts[2] );
     
    826888        add_post_meta( $posts[2], 'vegetable', 'shallot' );
    827889
    828         $query = new WP_Query( array(
    829             'meta_query' => array(
    830                 'relation' => 'OR',
    831                 array(
    832                     'key' => 'vegetable',
    833                     'value' => 'shallot',
    834                     'compare' => '=',
    835                 ),
    836                 array(
    837                     'key' => 'number_of_colors',
    838                     'value' => array( 1, 3 ),
    839                     'compare' => 'BETWEEN',
    840                     'type' => 'SIGNED',
    841                 ),
    842             ),
    843             'update_post_meta_cache' => false,
    844             'update_post_term_cache' => false,
    845             'fields' => 'ids',
    846         ) );
     890        $query = new WP_Query(
     891            array(
     892                'meta_query'             => array(
     893                    'relation' => 'OR',
     894                    array(
     895                        'key'     => 'vegetable',
     896                        'value'   => 'shallot',
     897                        'compare' => '=',
     898                    ),
     899                    array(
     900                        'key'     => 'number_of_colors',
     901                        'value'   => array( 1, 3 ),
     902                        'compare' => 'BETWEEN',
     903                        'type'    => 'SIGNED',
     904                    ),
     905                ),
     906                'update_post_meta_cache' => false,
     907                'update_post_term_cache' => false,
     908                'fields'                 => 'ids',
     909            )
     910        );
    847911
    848912        $expected = array( $posts[0], $posts[2] );
     
    862926        add_post_meta( $posts[3], 'vegetable', 'onion' );
    863927
    864         $query = new WP_Query( array(
    865             'meta_query' => array(
    866                 'relation' => 'AND',
    867                 array(
    868                     'key' => 'vegetable',
    869                     'value' => array( 'onion', 'shallot' ),
    870                     'compare' => 'IN',
    871                 ),
    872                 array(
    873                     'key' => 'vegetable',
    874                     'value' => array( 'banana' ),
    875                     'compare' => 'IN',
    876                 ),
    877             ),
    878             'update_post_meta_cache' => false,
    879             'update_post_term_cache' => false,
    880             'fields' => 'ids',
    881         ) );
     928        $query = new WP_Query(
     929            array(
     930                'meta_query'             => array(
     931                    'relation' => 'AND',
     932                    array(
     933                        'key'     => 'vegetable',
     934                        'value'   => array( 'onion', 'shallot' ),
     935                        'compare' => 'IN',
     936                    ),
     937                    array(
     938                        'key'     => 'vegetable',
     939                        'value'   => array( 'banana' ),
     940                        'compare' => 'IN',
     941                    ),
     942                ),
     943                'update_post_meta_cache' => false,
     944                'update_post_term_cache' => false,
     945                'fields'                 => 'ids',
     946            )
     947        );
    882948
    883949        $expected = array( $posts[3] );
     
    897963        add_post_meta( $posts[3], 'vegetable', 'banana' );
    898964
    899         $query = new WP_Query( array(
    900             'meta_query' => array(
    901                 'relation' => 'AND',
    902                 array(
    903                     'key' => 'vegetable',
    904                     'value' => array( 'onion', 'shallot' ),
    905                     'compare' => 'IN',
    906                 ),
    907                 array(
    908                     'key' => 'color',
    909                     'value' => array( 'blue' ),
    910                     'compare' => 'IN',
    911                 ),
    912             ),
    913             'update_post_meta_cache' => false,
    914             'update_post_term_cache' => false,
    915             'fields' => 'ids',
    916         ) );
     965        $query = new WP_Query(
     966            array(
     967                'meta_query'             => array(
     968                    'relation' => 'AND',
     969                    array(
     970                        'key'     => 'vegetable',
     971                        'value'   => array( 'onion', 'shallot' ),
     972                        'compare' => 'IN',
     973                    ),
     974                    array(
     975                        'key'     => 'color',
     976                        'value'   => array( 'blue' ),
     977                        'compare' => 'IN',
     978                    ),
     979                ),
     980                'update_post_meta_cache' => false,
     981                'update_post_term_cache' => false,
     982                'fields'                 => 'ids',
     983            )
     984        );
    917985
    918986        $expected = array( $posts[1] );
     
    931999        add_post_meta( $posts[3], 'vegetable', 'banana' );
    9321000
    933         $query = new WP_Query( array(
    934             'meta_query' => array(
    935                 'relation' => 'AND',
    936                 array(
    937                     'key' => 'vegetable',
    938                     'value' => 'onion',
    939                     'compare' => '!=',
    940                 ),
    941                 array(
    942                     'key' => 'vegetable',
    943                     'value' => 'shallot',
    944                     'compare' => '!=',
    945                 ),
    946             ),
    947             'update_post_meta_cache' => false,
    948             'update_post_term_cache' => false,
    949             'fields' => 'ids',
    950         ) );
     1001        $query = new WP_Query(
     1002            array(
     1003                'meta_query'             => array(
     1004                    'relation' => 'AND',
     1005                    array(
     1006                        'key'     => 'vegetable',
     1007                        'value'   => 'onion',
     1008                        'compare' => '!=',
     1009                    ),
     1010                    array(
     1011                        'key'     => 'vegetable',
     1012                        'value'   => 'shallot',
     1013                        'compare' => '!=',
     1014                    ),
     1015                ),
     1016                'update_post_meta_cache' => false,
     1017                'update_post_term_cache' => false,
     1018                'fields'                 => 'ids',
     1019            )
     1020        );
    9511021
    9521022        $expected = array( $posts[3] );
     
    9721042        add_post_meta( $posts[2], 'vegetable', 'onion' );
    9731043
    974         $query = new WP_Query( array(
    975             'meta_query' => array(
    976                 'relation' => 'AND',
    977                 array(
    978                     'key' => 'vegetable',
    979                     'value' => 'shallot',
    980                     'compare' => '!=',
    981                 ),
    982                 array(
    983                     'key' => 'color',
    984                     'value' => 'orange',
    985                     'compare' => '!=',
    986                 ),
    987             ),
    988             'update_post_meta_cache' => false,
    989             'update_post_term_cache' => false,
    990             'fields' => 'ids',
    991         ) );
     1044        $query = new WP_Query(
     1045            array(
     1046                'meta_query'             => array(
     1047                    'relation' => 'AND',
     1048                    array(
     1049                        'key'     => 'vegetable',
     1050                        'value'   => 'shallot',
     1051                        'compare' => '!=',
     1052                    ),
     1053                    array(
     1054                        'key'     => 'color',
     1055                        'value'   => 'orange',
     1056                        'compare' => '!=',
     1057                    ),
     1058                ),
     1059                'update_post_meta_cache' => false,
     1060                'update_post_term_cache' => false,
     1061                'fields'                 => 'ids',
     1062            )
     1063        );
    9921064
    9931065        $expected = array( $posts[2] );
     
    10061078        add_post_meta( $posts[3], 'vegetable', 'banana' );
    10071079
    1008         $query = new WP_Query( array(
    1009             'meta_query' => array(
    1010                 'relation' => 'AND',
    1011                 array(
    1012                     'key' => 'vegetable',
    1013                     'value' => 'onion',
    1014                     'compare' => '!=',
    1015                 ),
    1016                 array(
    1017                     'key' => 'vegetable',
    1018                     'value' => array( 'shallot' ),
    1019                     'compare' => 'NOT IN',
    1020                 ),
    1021             ),
    1022             'update_post_meta_cache' => false,
    1023             'update_post_term_cache' => false,
    1024             'fields' => 'ids',
    1025         ) );
     1080        $query = new WP_Query(
     1081            array(
     1082                'meta_query'             => array(
     1083                    'relation' => 'AND',
     1084                    array(
     1085                        'key'     => 'vegetable',
     1086                        'value'   => 'onion',
     1087                        'compare' => '!=',
     1088                    ),
     1089                    array(
     1090                        'key'     => 'vegetable',
     1091                        'value'   => array( 'shallot' ),
     1092                        'compare' => 'NOT IN',
     1093                    ),
     1094                ),
     1095                'update_post_meta_cache' => false,
     1096                'update_post_term_cache' => false,
     1097                'fields'                 => 'ids',
     1098            )
     1099        );
    10261100
    10271101        $expected = array( $posts[3] );
     
    10401114        add_post_meta( $posts[3], 'vegetable', 'banana' );
    10411115
    1042         $query = new WP_Query( array(
    1043             'meta_query' => array(
    1044                 'relation' => 'AND',
    1045                 array(
    1046                     'key' => 'vegetable',
    1047                     'value' => 'onion',
    1048                     'compare' => '!=',
    1049                 ),
    1050                 array(
    1051                     'key' => 'vegetable',
    1052                     'value' => 'hall',
    1053                     'compare' => 'NOT LIKE',
    1054                 ),
    1055             ),
    1056             'update_post_meta_cache' => false,
    1057             'update_post_term_cache' => false,
    1058             'fields' => 'ids',
    1059         ) );
     1116        $query = new WP_Query(
     1117            array(
     1118                'meta_query'             => array(
     1119                    'relation' => 'AND',
     1120                    array(
     1121                        'key'     => 'vegetable',
     1122                        'value'   => 'onion',
     1123                        'compare' => '!=',
     1124                    ),
     1125                    array(
     1126                        'key'     => 'vegetable',
     1127                        'value'   => 'hall',
     1128                        'compare' => 'NOT LIKE',
     1129                    ),
     1130                ),
     1131                'update_post_meta_cache' => false,
     1132                'update_post_term_cache' => false,
     1133                'fields'                 => 'ids',
     1134            )
     1135        );
    10601136
    10611137        $expected = array( $posts[3] );
     
    10771153        update_post_meta( $post_4, 'decimal_value', '0.4' );
    10781154
    1079         $query = new WP_Query( array(
    1080             'meta_query' => array(
    1081                 array(
    1082                     'key' => 'decimal_value',
    1083                     'value' => '.300',
    1084                     'compare' => '=',
    1085                     'type' => 'DECIMAL(10,2)'
    1086                 )
    1087             ),
    1088             'update_post_meta_cache' => false,
    1089             'update_post_term_cache' => false,
    1090             'fields' => 'ids',
    1091         ) );
     1155        $query = new WP_Query(
     1156            array(
     1157                'meta_query'             => array(
     1158                    array(
     1159                        'key'     => 'decimal_value',
     1160                        'value'   => '.300',
     1161                        'compare' => '=',
     1162                        'type'    => 'DECIMAL(10,2)',
     1163                    ),
     1164                ),
     1165                'update_post_meta_cache' => false,
     1166                'update_post_term_cache' => false,
     1167                'fields'                 => 'ids',
     1168            )
     1169        );
    10921170        $this->assertEqualSets( array( $post_3 ), $query->posts );
    10931171
    1094         $query = new WP_Query( array(
    1095             'meta_query' => array(
    1096                 array(
    1097                     'key' => 'decimal_value',
    1098                     'value' => '0.35',
    1099                     'compare' => '>',
    1100                     'type' => 'DECIMAL(10,2)'
    1101                 )
    1102             ),
    1103             'update_post_meta_cache' => false,
    1104             'update_post_term_cache' => false,
    1105             'fields' => 'ids',
    1106         ) );
     1172        $query = new WP_Query(
     1173            array(
     1174                'meta_query'             => array(
     1175                    array(
     1176                        'key'     => 'decimal_value',
     1177                        'value'   => '0.35',
     1178                        'compare' => '>',
     1179                        'type'    => 'DECIMAL(10,2)',
     1180                    ),
     1181                ),
     1182                'update_post_meta_cache' => false,
     1183                'update_post_term_cache' => false,
     1184                'fields'                 => 'ids',
     1185            )
     1186        );
    11071187        $this->assertEqualSets( array( $post_4 ), $query->posts );
    11081188
    1109         $query = new WP_Query( array(
    1110             'meta_query' => array(
    1111                 array(
    1112                     'key' => 'decimal_value',
    1113                     'value' => '0.3',
    1114                     'compare' => '>=',
    1115                     'type' => 'DECIMAL(10,2)'
    1116                 )
    1117             ),
    1118             'update_post_meta_cache' => false,
    1119             'update_post_term_cache' => false,
    1120             'fields' => 'ids',
    1121         ) );
     1189        $query = new WP_Query(
     1190            array(
     1191                'meta_query'             => array(
     1192                    array(
     1193                        'key'     => 'decimal_value',
     1194                        'value'   => '0.3',
     1195                        'compare' => '>=',
     1196                        'type'    => 'DECIMAL(10,2)',
     1197                    ),
     1198                ),
     1199                'update_post_meta_cache' => false,
     1200                'update_post_term_cache' => false,
     1201                'fields'                 => 'ids',
     1202            )
     1203        );
    11221204        $this->assertEqualSets( array( $post_3, $post_4 ), $query->posts );
    11231205
    1124         $query = new WP_Query( array(
    1125             'meta_query' => array(
    1126                 array(
    1127                     'key' => 'decimal_value',
    1128                     'value' => '0',
    1129                     'compare' => '<',
    1130                     'type' => 'DECIMAL(10,2)'
    1131                 )
    1132             ),
    1133             'update_post_meta_cache' => false,
    1134             'update_post_term_cache' => false,
    1135             'fields' => 'ids',
    1136         ) );
     1206        $query = new WP_Query(
     1207            array(
     1208                'meta_query'             => array(
     1209                    array(
     1210                        'key'     => 'decimal_value',
     1211                        'value'   => '0',
     1212                        'compare' => '<',
     1213                        'type'    => 'DECIMAL(10,2)',
     1214                    ),
     1215                ),
     1216                'update_post_meta_cache' => false,
     1217                'update_post_term_cache' => false,
     1218                'fields'                 => 'ids',
     1219            )
     1220        );
    11371221        $this->assertEqualSets( array( $post_1 ), $query->posts, 'ID' );
    11381222
    1139         $query = new WP_Query( array(
    1140             'meta_query' => array(
    1141                 array(
    1142                     'key' => 'decimal_value',
    1143                     'value' => '0.3',
    1144                     'compare' => '<=',
    1145                     'type' => 'DECIMAL(10,2)'
    1146                 )
    1147             ),
    1148             'update_post_meta_cache' => false,
    1149             'update_post_term_cache' => false,
    1150             'fields' => 'ids',
    1151         ) );
     1223        $query = new WP_Query(
     1224            array(
     1225                'meta_query'             => array(
     1226                    array(
     1227                        'key'     => 'decimal_value',
     1228                        'value'   => '0.3',
     1229                        'compare' => '<=',
     1230                        'type'    => 'DECIMAL(10,2)',
     1231                    ),
     1232                ),
     1233                'update_post_meta_cache' => false,
     1234                'update_post_term_cache' => false,
     1235                'fields'                 => 'ids',
     1236            )
     1237        );
    11521238        $this->assertEqualSets( array( $post_1, $post_2, $post_3 ), $query->posts );
    11531239
    1154         $query = new WP_Query( array(
    1155             'meta_query' => array(
    1156                 array(
    1157                     'key' => 'decimal_value',
    1158                     'value' => array( 0.23409845, .31 ),
    1159                     'compare' => 'BETWEEN',
    1160                     'type' => 'DECIMAL(10, 10)'
    1161                 )
    1162             ),
    1163             'update_post_meta_cache' => false,
    1164             'update_post_term_cache' => false,
    1165             'fields' => 'ids',
    1166         ) );
     1240        $query = new WP_Query(
     1241            array(
     1242                'meta_query'             => array(
     1243                    array(
     1244                        'key'     => 'decimal_value',
     1245                        'value'   => array( 0.23409845, .31 ),
     1246                        'compare' => 'BETWEEN',
     1247                        'type'    => 'DECIMAL(10, 10)',
     1248                    ),
     1249                ),
     1250                'update_post_meta_cache' => false,
     1251                'update_post_term_cache' => false,
     1252                'fields'                 => 'ids',
     1253            )
     1254        );
    11671255        $this->assertEqualSets( array( $post_3 ), $query->posts );
    11681256
    1169         $query = new WP_Query( array(
    1170             'meta_query' => array(
    1171                 array(
    1172                     'key' => 'decimal_value',
    1173                     'value' => array( 0.23409845, .31 ),
    1174                     'compare' => 'NOT BETWEEN',
    1175                     'type' => 'DECIMAL(10,10)'
    1176                 )
    1177             ),
    1178             'update_post_meta_cache' => false,
    1179             'update_post_term_cache' => false,
    1180             'fields' => 'ids',
    1181         ) );
     1257        $query = new WP_Query(
     1258            array(
     1259                'meta_query'             => array(
     1260                    array(
     1261                        'key'     => 'decimal_value',
     1262                        'value'   => array( 0.23409845, .31 ),
     1263                        'compare' => 'NOT BETWEEN',
     1264                        'type'    => 'DECIMAL(10,10)',
     1265                    ),
     1266                ),
     1267                'update_post_meta_cache' => false,
     1268                'update_post_term_cache' => false,
     1269                'fields'                 => 'ids',
     1270            )
     1271        );
    11821272        $this->assertEqualSets( array( $post_1, $post_2, $post_4 ), $query->posts );
    11831273
    1184         $query = new WP_Query( array(
    1185             'meta_query' => array(
    1186                 array(
    1187                     'key' => 'decimal_value',
    1188                     'value' => '.3',
    1189                     'compare' => 'LIKE',
    1190                     'type' => 'DECIMAL(10,2)'
    1191                 )
    1192             ),
    1193             'update_post_meta_cache' => false,
    1194             'update_post_term_cache' => false,
    1195             'fields' => 'ids',
    1196         ) );
     1274        $query = new WP_Query(
     1275            array(
     1276                'meta_query'             => array(
     1277                    array(
     1278                        'key'     => 'decimal_value',
     1279                        'value'   => '.3',
     1280                        'compare' => 'LIKE',
     1281                        'type'    => 'DECIMAL(10,2)',
     1282                    ),
     1283                ),
     1284                'update_post_meta_cache' => false,
     1285                'update_post_term_cache' => false,
     1286                'fields'                 => 'ids',
     1287            )
     1288        );
    11971289        $this->assertEqualSets( array( $post_1, $post_3 ), $query->posts );
    11981290
    1199         $query = new WP_Query( array(
    1200             'meta_query' => array(
    1201                 array(
    1202                     'key' => 'decimal_value',
    1203                     'value' => '.3',
    1204                     'compare' => 'NOT LIKE',
    1205                     'type' => 'DECIMAL(10,2)'
    1206                 )
    1207             ),
    1208             'update_post_meta_cache' => false,
    1209             'update_post_term_cache' => false,
    1210             'fields' => 'ids',
    1211         ) );
     1291        $query = new WP_Query(
     1292            array(
     1293                'meta_query'             => array(
     1294                    array(
     1295                        'key'     => 'decimal_value',
     1296                        'value'   => '.3',
     1297                        'compare' => 'NOT LIKE',
     1298                        'type'    => 'DECIMAL(10,2)',
     1299                    ),
     1300                ),
     1301                'update_post_meta_cache' => false,
     1302                'update_post_term_cache' => false,
     1303                'fields'                 => 'ids',
     1304            )
     1305        );
    12121306        $this->assertEqualSets( array( $post_2, $post_4 ), $query->posts );
    12131307
    1214         $query = new WP_Query( array(
    1215             'orderby' => 'meta_value',
    1216             'order' => 'DESC',
    1217             'meta_key' => 'decimal_value',
    1218             'meta_type' => 'DECIMAL(10, 2)',
    1219             'update_post_meta_cache' => false,
    1220             'update_post_term_cache' => false,
    1221             'fields' => 'ids',
    1222         ) );
     1308        $query = new WP_Query(
     1309            array(
     1310                'orderby'                => 'meta_value',
     1311                'order'                  => 'DESC',
     1312                'meta_key'               => 'decimal_value',
     1313                'meta_type'              => 'DECIMAL(10, 2)',
     1314                'update_post_meta_cache' => false,
     1315                'update_post_term_cache' => false,
     1316                'fields'                 => 'ids',
     1317            )
     1318        );
    12231319        $this->assertEqualSets( array( $post_4, $post_3, $post_2, $post_1 ), $query->posts );
    12241320    }
    12251321
    12261322    public function test_meta_vars_should_be_converted_to_meta_query() {
    1227         $q = new WP_Query( array(
    1228             'meta_key' => 'foo',
    1229             'meta_value' => '5',
    1230             'meta_compare' => '>',
    1231             'meta_type' => 'SIGNED',
    1232         ) );
     1323        $q = new WP_Query(
     1324            array(
     1325                'meta_key'     => 'foo',
     1326                'meta_value'   => '5',
     1327                'meta_compare' => '>',
     1328                'meta_type'    => 'SIGNED',
     1329            )
     1330        );
    12331331
    12341332        $this->assertSame( 'foo', $q->meta_query->queries[0]['key'] );
     
    12521350        update_post_meta( $posts[2], 'bar2', 'baz' );
    12531351
    1254         $query = new WP_Query( array(
    1255             'orderby' => 'meta_value',
    1256             'order' => 'ASC',
    1257             'meta_key' => 'foo',
    1258             'meta_query' => array(
    1259                 'relation' => 'OR',
    1260                 array(
    1261                     'key' => 'bar1',
    1262                     'value' => 'baz',
    1263                     'compare' => '=',
    1264                 ),
    1265                 array(
    1266                     'key' => 'bar2',
    1267                     'value' => 'baz',
    1268                     'compare' => '=',
    1269                 ),
    1270             ),
    1271             'update_post_meta_cache' => false,
    1272             'update_post_term_cache' => false,
    1273             'fields' => 'ids',
    1274         ) );
     1352        $query = new WP_Query(
     1353            array(
     1354                'orderby'                => 'meta_value',
     1355                'order'                  => 'ASC',
     1356                'meta_key'               => 'foo',
     1357                'meta_query'             => array(
     1358                    'relation' => 'OR',
     1359                    array(
     1360                        'key'     => 'bar1',
     1361                        'value'   => 'baz',
     1362                        'compare' => '=',
     1363                    ),
     1364                    array(
     1365                        'key'     => 'bar2',
     1366                        'value'   => 'baz',
     1367                        'compare' => '=',
     1368                    ),
     1369                ),
     1370                'update_post_meta_cache' => false,
     1371                'update_post_term_cache' => false,
     1372                'fields'                 => 'ids',
     1373            )
     1374        );
    12751375
    12761376        $this->assertEquals( array( $posts[2], $posts[0], $posts[1] ), $query->posts );
     
    12951395        update_post_meta( $posts[2], 'bar2', 'baz' );
    12961396
    1297         $query = new WP_Query( array(
    1298             'orderby' => 'meta_value',
    1299             'order' => 'ASC',
    1300             'meta_key' => 'foo',
    1301             'meta_query' => array(
    1302                 'relation' => 'AND',
    1303                 array(
    1304                     'key' => 'bar1',
    1305                     'value' => 'baz',
    1306                     'compare' => '=',
    1307                 ),
    1308                 array(
    1309                     'key' => 'bar2',
    1310                     'value' => 'baz',
    1311                     'compare' => '=',
    1312                 ),
    1313             ),
    1314             'update_post_meta_cache' => false,
    1315             'update_post_term_cache' => false,
    1316             'fields' => 'ids',
    1317         ) );
     1397        $query = new WP_Query(
     1398            array(
     1399                'orderby'                => 'meta_value',
     1400                'order'                  => 'ASC',
     1401                'meta_key'               => 'foo',
     1402                'meta_query'             => array(
     1403                    'relation' => 'AND',
     1404                    array(
     1405                        'key'     => 'bar1',
     1406                        'value'   => 'baz',
     1407                        'compare' => '=',
     1408                    ),
     1409                    array(
     1410                        'key'     => 'bar2',
     1411                        'value'   => 'baz',
     1412                        'compare' => '=',
     1413                    ),
     1414                ),
     1415                'update_post_meta_cache' => false,
     1416                'update_post_term_cache' => false,
     1417                'fields'                 => 'ids',
     1418            )
     1419        );
    13181420
    13191421        $this->assertEquals( array( $posts[2], $posts[0], $posts[1] ), $query->posts );
     
    13331435        add_post_meta( $p3, 'foo3', 'bar' );
    13341436
    1335         $query = new WP_Query( array(
    1336             'update_post_meta_cache' => false,
    1337             'update_term_meta_cache' => false,
    1338             'fields' => 'ids',
    1339             'meta_query' => array(
    1340                 'relation' => 'OR',
    1341                 array(
    1342                     'key' => 'foo',
    1343                     'value' => 'bar',
    1344                 ),
    1345                 array(
    1346                     'relation' => 'AND',
    1347                     array(
    1348                         'key' => 'foo2',
     1437        $query = new WP_Query(
     1438            array(
     1439                'update_post_meta_cache' => false,
     1440                'update_term_meta_cache' => false,
     1441                'fields'                 => 'ids',
     1442                'meta_query'             => array(
     1443                    'relation' => 'OR',
     1444                    array(
     1445                        'key'   => 'foo',
    13491446                        'value' => 'bar',
    13501447                    ),
    13511448                    array(
    1352                         'key' => 'foo3',
    1353                         'value' => 'bar',
    1354                     ),
    1355                 ),
    1356             ),
    1357         ) );
     1449                        'relation' => 'AND',
     1450                        array(
     1451                            'key'   => 'foo2',
     1452                            'value' => 'bar',
     1453                        ),
     1454                        array(
     1455                            'key'   => 'foo3',
     1456                            'value' => 'bar',
     1457                        ),
     1458                    ),
     1459                ),
     1460            )
     1461        );
    13581462
    13591463        $expected = array( $p1, $p3 );
     
    13741478        add_post_meta( $p3, 'foo4', 'bar' );
    13751479
    1376         $query = new WP_Query( array(
    1377             'update_post_meta_cache' => false,
    1378             'update_term_meta_cache' => false,
    1379             'fields' => 'ids',
    1380             'meta_query' => array(
    1381                 'relation' => 'OR',
    1382                 array(
    1383                     'key' => 'foo',
    1384                     'value' => 'bar',
    1385                 ),
    1386                 array(
     1480        $query = new WP_Query(
     1481            array(
     1482                'update_post_meta_cache' => false,
     1483                'update_term_meta_cache' => false,
     1484                'fields'                 => 'ids',
     1485                'meta_query'             => array(
    13871486                    'relation' => 'OR',
    13881487                    array(
    1389                         'key' => 'foo2',
     1488                        'key'   => 'foo',
    13901489                        'value' => 'bar',
    13911490                    ),
    13921491                    array(
    1393                         'relation' => 'AND',
     1492                        'relation' => 'OR',
    13941493                        array(
    1395                             'key' => 'foo3',
     1494                            'key'   => 'foo2',
    13961495                            'value' => 'bar',
    13971496                        ),
    13981497                        array(
    1399                             'key' => 'foo4',
    1400                             'value' => 'bar',
     1498                            'relation' => 'AND',
     1499                            array(
     1500                                'key'   => 'foo3',
     1501                                'value' => 'bar',
     1502                            ),
     1503                            array(
     1504                                'key'   => 'foo4',
     1505                                'value' => 'bar',
     1506                            ),
    14011507                        ),
    14021508                    ),
    14031509                ),
    1404             ),
    1405         ) );
     1510            )
     1511        );
    14061512
    14071513        $expected = array( $p1, $p3 );
     
    14221528
    14231529        $args = array(
    1424             'meta_key' => 'time',
    1425             'meta_value' => array( 1, 1000 ),
    1426             'meta_type' => 'numeric',
    1427             'meta_compare' => 'NOT BETWEEN'
    1428             );
     1530            'meta_key'     => 'time',
     1531            'meta_value'   => array( 1, 1000 ),
     1532            'meta_type'    => 'numeric',
     1533            'meta_compare' => 'NOT BETWEEN',
     1534        );
    14291535
    14301536        $query = new WP_Query( $args );
    1431         $this->assertEquals( 2, count ( $query->posts ) );
     1537        $this->assertEquals( 2, count( $query->posts ) );
    14321538        foreach ( $query->posts as $post ) {
    14331539            $this->assertInstanceOf( 'WP_Post', $post );
     
    14381544
    14391545        $args = array(
    1440             'meta_key' => 'time',
    1441             'meta_value' => array( 1, 1000 ),
    1442             'meta_type' => 'numeric',
    1443             'meta_compare' => 'BETWEEN'
    1444             );
     1546            'meta_key'     => 'time',
     1547            'meta_value'   => array( 1, 1000 ),
     1548            'meta_type'    => 'numeric',
     1549            'meta_compare' => 'BETWEEN',
     1550        );
    14451551
    14461552        $query = new WP_Query( $args );
    1447         $this->assertEquals( 3, count ( $query->posts ) );
     1553        $this->assertEquals( 3, count( $query->posts ) );
    14481554        foreach ( $query->posts as $post ) {
    14491555            $this->assertInstanceOf( 'WP_Post', $post );
     
    14701576        add_post_meta( $post_id5, 'foo', 'tango' );
    14711577
    1472         $posts = get_posts( array(
    1473             'meta_key' => 'foo',
    1474             'meta_value' => array( 'bar', 'baz' )
    1475         ) );
     1578        $posts = get_posts(
     1579            array(
     1580                'meta_key'   => 'foo',
     1581                'meta_value' => array( 'bar', 'baz' ),
     1582            )
     1583        );
    14761584
    14771585        $this->assertEquals( 2, count( $posts ) );
     
    14791587        $this->assertEqualSets( array( $post_id, $post_id3 ), $posts );
    14801588
    1481         $posts = get_posts( array(
    1482             'meta_key' => 'foo',
    1483             'meta_value' => array( 'bar', 'baz' ),
    1484             'meta_compare' => 'IN'
    1485         ) );
     1589        $posts = get_posts(
     1590            array(
     1591                'meta_key'     => 'foo',
     1592                'meta_value'   => array( 'bar', 'baz' ),
     1593                'meta_compare' => 'IN',
     1594            )
     1595        );
    14861596
    14871597        $this->assertEquals( 2, count( $posts ) );
     
    15081618        $args = array(
    15091619            'meta_query' => array(
    1510             array(
    1511                 'value' => 'lorem',
    1512                 'compare' => 'LIKE'
    1513             )
    1514             )
     1620                array(
     1621                    'value'  => 'lorem',
     1622                    'compare' => 'LIKE',
     1623                ),
     1624            ),
    15151625        );
    15161626
     
    15441654        add_post_meta( $post_id6, 'baz', 0 );
    15451655
    1546         $q = new WP_Query( array( 'meta_key' => 'foo', 'meta_value' => '0' ) );
    1547         $this->assertEquals( 1, count ( $q->posts ) );
     1656        $q = new WP_Query(
     1657            array(
     1658                'meta_key'   => 'foo',
     1659                'meta_value' => '0',
     1660            )
     1661        );
     1662        $this->assertEquals( 1, count( $q->posts ) );
    15481663        foreach ( $q->posts as $post ) {
    15491664            $this->assertInstanceOf( 'WP_Post', $post );
     
    15521667        $this->assertEquals( $post_id, $q->posts[0]->ID );
    15531668
    1554         $posts = get_posts( array( 'meta_key' => 'bar', 'meta_value' => '0' ) );
    1555         $this->assertEquals( 2, count ( $posts ) );
     1669        $posts = get_posts(
     1670            array(
     1671                'meta_key'   => 'bar',
     1672                'meta_value' => '0',
     1673            )
     1674        );
     1675        $this->assertEquals( 2, count( $posts ) );
    15561676        foreach ( $posts as $post ) {
    15571677            $this->assertInstanceOf( 'WP_Post', $post );
     
    15611681        $this->assertEqualSets( array( $post_id, $post_id5 ), $posts );
    15621682
    1563         $posts = get_posts( array( 'meta_key' => 'bar', 'meta_value' => 0 ) );
    1564         $this->assertEquals( 2, count ( $posts ) );
     1683        $posts = get_posts(
     1684            array(
     1685                'meta_key'   => 'bar',
     1686                'meta_value' => 0,
     1687            )
     1688        );
     1689        $this->assertEquals( 2, count( $posts ) );
    15651690        foreach ( $posts as $post ) {
    15661691            $this->assertInstanceOf( 'WP_Post', $post );
     
    15711696
    15721697        $posts = get_posts( array( 'meta_value' => 0 ) );
    1573         $this->assertEquals( 5, count ( $posts ) );
     1698        $this->assertEquals( 5, count( $posts ) );
    15741699        foreach ( $posts as $post ) {
    15751700            $this->assertInstanceOf( 'WP_Post', $post );
     
    15801705
    15811706        $posts = get_posts( array( 'meta_value' => '0' ) );
    1582         $this->assertEquals( 5, count ( $posts ) );
     1707        $this->assertEquals( 5, count( $posts ) );
    15831708        foreach ( $posts as $post ) {
    15841709            $this->assertInstanceOf( 'WP_Post', $post );
     
    15981723        add_post_meta( $posts[2], 'foo', 'jjj' );
    15991724
    1600         $q = new WP_Query( array(
    1601             'fields' => 'ids',
    1602             'meta_query' => array(
    1603                 'foo_key' => array(
    1604                     'key' => 'foo',
    1605                     'compare' => 'EXISTS',
    1606                 ),
    1607             ),
    1608             'orderby' => 'foo_key',
    1609             'order' => 'DESC',
    1610         ) );
     1725        $q = new WP_Query(
     1726            array(
     1727                'fields'     => 'ids',
     1728                'meta_query' => array(
     1729                    'foo_key' => array(
     1730                        'key'     => 'foo',
     1731                        'compare' => 'EXISTS',
     1732                    ),
     1733                ),
     1734                'orderby'    => 'foo_key',
     1735                'order'      => 'DESC',
     1736            )
     1737        );
    16111738
    16121739        $this->assertEquals( array( $posts[1], $posts[2], $posts[0] ), $q->posts );
     
    16171744     */
    16181745    public function test_orderby_clause_key_as_secondary_sort() {
    1619         $p1 = self::factory()->post->create( array(
    1620             'post_date' => '2015-01-28 03:00:00',
    1621         ) );
    1622         $p2 = self::factory()->post->create( array(
    1623             'post_date' => '2015-01-28 05:00:00',
    1624         ) );
    1625         $p3 = self::factory()->post->create( array(
    1626             'post_date' => '2015-01-28 03:00:00',
    1627         ) );
     1746        $p1 = self::factory()->post->create(
     1747            array(
     1748                'post_date' => '2015-01-28 03:00:00',
     1749            )
     1750        );
     1751        $p2 = self::factory()->post->create(
     1752            array(
     1753                'post_date' => '2015-01-28 05:00:00',
     1754            )
     1755        );
     1756        $p3 = self::factory()->post->create(
     1757            array(
     1758                'post_date' => '2015-01-28 03:00:00',
     1759            )
     1760        );
    16281761
    16291762        add_post_meta( $p1, 'foo', 'jjj' );
     
    16311764        add_post_meta( $p3, 'foo', 'aaa' );
    16321765
    1633         $q = new WP_Query( array(
    1634             'fields' => 'ids',
    1635             'meta_query' => array(
    1636                 'foo_key' => array(
    1637                     'key' => 'foo',
    1638                     'compare' => 'EXISTS',
    1639                 ),
    1640             ),
    1641             'orderby' => array(
    1642                 'post_date' => 'asc',
    1643                 'foo_key' => 'asc',
    1644             ),
    1645         ) );
     1766        $q = new WP_Query(
     1767            array(
     1768                'fields'     => 'ids',
     1769                'meta_query' => array(
     1770                    'foo_key' => array(
     1771                        'key'     => 'foo',
     1772                        'compare' => 'EXISTS',
     1773                    ),
     1774                ),
     1775                'orderby'    => array(
     1776                    'post_date' => 'asc',
     1777                    'foo_key'   => 'asc',
     1778                ),
     1779            )
     1780        );
    16461781
    16471782        $this->assertEquals( array( $p3, $p1, $p2 ), $q->posts );
     
    16611796        add_post_meta( $posts[2], 'bar', 'bbb' );
    16621797
    1663         $q = new WP_Query( array(
    1664             'fields' => 'ids',
    1665             'meta_query' => array(
    1666                 'foo_key' => array(
    1667                     'key' => 'foo',
    1668                     'compare' => 'EXISTS',
    1669                 ),
    1670                 'bar_key' => array(
    1671                     'key' => 'bar',
    1672                     'compare' => 'EXISTS',
    1673                 ),
    1674             ),
    1675             'orderby' => array(
    1676                 'foo_key' => 'asc',
    1677                 'bar_key' => 'desc',
    1678             ),
    1679         ) );
     1798        $q = new WP_Query(
     1799            array(
     1800                'fields'     => 'ids',
     1801                'meta_query' => array(
     1802                    'foo_key' => array(
     1803                        'key'     => 'foo',
     1804                        'compare' => 'EXISTS',
     1805                    ),
     1806                    'bar_key' => array(
     1807                        'key'     => 'bar',
     1808                        'compare' => 'EXISTS',
     1809                    ),
     1810                ),
     1811                'orderby'    => array(
     1812                    'foo_key' => 'asc',
     1813                    'bar_key' => 'desc',
     1814                ),
     1815            )
     1816        );
    16801817
    16811818        $this->assertEquals( array( $posts[2], $posts[0], $posts[1] ), $q->posts );
     
    16861823     */
    16871824    public function test_duplicate_clause_keys_should_be_made_unique() {
    1688         $q = new WP_Query( array(
    1689             'fields' => 'ids',
    1690             'meta_query' => array(
    1691                 'foo_key' => array(
    1692                     'key' => 'foo',
    1693                     'compare' => 'EXISTS',
    1694                 ),
    1695                 array(
     1825        $q = new WP_Query(
     1826            array(
     1827                'fields'     => 'ids',
     1828                'meta_query' => array(
    16961829                    'foo_key' => array(
    1697                         'key' => 'bar',
     1830                        'key'     => 'foo',
    16981831                        'compare' => 'EXISTS',
    16991832                    ),
    1700                 ),
    1701                 array(
    1702                     'foo_key' => array(
    1703                         'key' => 'baz',
    1704                         'compare' => 'EXISTS',
    1705                     ),
    1706                 ),
    1707             ),
    1708         ) );
     1833                    array(
     1834                        'foo_key' => array(
     1835                            'key'     => 'bar',
     1836                            'compare' => 'EXISTS',
     1837                        ),
     1838                    ),
     1839                    array(
     1840                        'foo_key' => array(
     1841                            'key'     => 'baz',
     1842                            'compare' => 'EXISTS',
     1843                        ),
     1844                    ),
     1845                ),
     1846            )
     1847        );
    17091848
    17101849        $this->assertEqualSets( array( 'foo_key', 'foo_key-1', 'foo_key-2' ), array_keys( $q->meta_query->get_clauses() ) );
Note: See TracChangeset for help on using the changeset viewer.