| | 200 | |
| | 201 | function test_query_meta_query_order() { |
| | 202 | $p1 = $this->factory->post->create( array( 'post_title' => 'meta-value-1', 'post_date' => '2007-01-01 00:00:00' ) ); |
| | 203 | $p2 = $this->factory->post->create( array( 'post_title' => 'meta-value-2', 'post_date' => '2007-02-01 00:00:00' ) ); |
| | 204 | $p3 = $this->factory->post->create( array( 'post_title' => 'meta-value-3', 'post_date' => '2007-03-01 00:00:00' ) ); |
| | 205 | |
| | 206 | add_post_meta( $p1, 'order', 2 ); |
| | 207 | add_post_meta( $p2, 'order', 1 ); |
| | 208 | add_post_meta( $p3, 'order', 3 ); |
| | 209 | |
| | 210 | $posts1 = get_posts( array( |
| | 211 | 'post_type' => 'post', |
| | 212 | 'meta_key' => 'order', |
| | 213 | 'meta_value' => 1, |
| | 214 | 'meta_compare' => '>=', |
| | 215 | 'orderby' => 'meta_value' |
| | 216 | ) ); |
| | 217 | |
| | 218 | $this->assertSame( array( $p3, $p1, $p2 ), wp_list_pluck( $posts1, 'ID' ) ); |
| | 219 | |
| | 220 | $posts2 = get_posts( array( |
| | 221 | 'post_type' => 'post', |
| | 222 | 'meta_key' => 'order', |
| | 223 | 'meta_value' => 1, |
| | 224 | 'meta_compare' => '>=', |
| | 225 | 'orderby' => 'meta_value', |
| | 226 | 'meta_query' => array( |
| | 227 | 'relation' => 'OR', |
| | 228 | array( |
| | 229 | 'key' => 'order', |
| | 230 | 'compare' => '>=', |
| | 231 | 'value' => 1 |
| | 232 | ), |
| | 233 | array( |
| | 234 | 'key' => 'foo', |
| | 235 | 'value' => 'bar', |
| | 236 | ), |
| | 237 | ) |
| | 238 | ) ); |
| | 239 | |
| | 240 | $this->assertSame( array( $p3, $p1, $p2 ), wp_list_pluck( $posts2, 'ID' ) ); |
| | 241 | } |