| @@ 1488-1518 (lines=31) @@ | ||
| 1485 | /** |
|
| 1486 | * @ticket 34996 |
|
| 1487 | */ |
|
| 1488 | public function test_orderby_meta_value() |
|
| 1489 | { |
|
| 1490 | register_taxonomy('wptests_tax', 'post'); |
|
| 1491 | $terms = self::factory()->term->create_many(3, array( 'taxonomy' => 'wptests_tax' )); |
|
| 1492 | add_term_meta($terms[0], 'foo', 'zzz'); |
|
| 1493 | add_term_meta($terms[0], 'fee', 'ber'); |
|
| 1494 | add_term_meta($terms[1], 'foo', 'aaa'); |
|
| 1495 | add_term_meta($terms[1], 'fee', 'ber'); |
|
| 1496 | add_term_meta($terms[2], 'foo', 'jjj'); |
|
| 1497 | add_term_meta($terms[2], 'fee', 'ber'); |
|
| 1498 | ||
| 1499 | // Matches the first meta query clause. |
|
| 1500 | $found = get_terms( |
|
| 1501 | 'wptests_tax', array( |
|
| 1502 | 'hide_empty' => false, |
|
| 1503 | 'meta_query' => array( |
|
| 1504 | 'relation' => 'AND', |
|
| 1505 | array( |
|
| 1506 | 'key' => 'foo', |
|
| 1507 | 'compare' => 'EXISTS', |
|
| 1508 | ), |
|
| 1509 | array( |
|
| 1510 | 'key' => 'fee', |
|
| 1511 | 'compare' => 'EXISTS', |
|
| 1512 | ), |
|
| 1513 | ), |
|
| 1514 | 'orderby' => 'meta_value', |
|
| 1515 | 'order' => 'ASC', |
|
| 1516 | 'fields' => 'ids', |
|
| 1517 | ) |
|
| 1518 | ); |
|
| 1519 | ||
| 1520 | $this->assertEqualSets(array( $terms[1], $terms[2], $terms[0] ), $found); |
|
| 1521 | } |
|
| @@ 1526-1556 (lines=31) @@ | ||
| 1523 | /** |
|
| 1524 | * @ticket 34996 |
|
| 1525 | */ |
|
| 1526 | public function test_orderby_meta_value_num() |
|
| 1527 | { |
|
| 1528 | register_taxonomy('wptests_tax', 'post'); |
|
| 1529 | $terms = self::factory()->term->create_many(3, array( 'taxonomy' => 'wptests_tax' )); |
|
| 1530 | add_term_meta($terms[0], 'foo', '999'); |
|
| 1531 | add_term_meta($terms[0], 'fee', 'ber'); |
|
| 1532 | add_term_meta($terms[1], 'foo', '111'); |
|
| 1533 | add_term_meta($terms[1], 'fee', 'ber'); |
|
| 1534 | add_term_meta($terms[2], 'foo', '555'); |
|
| 1535 | add_term_meta($terms[2], 'fee', 'ber'); |
|
| 1536 | ||
| 1537 | // Matches the first meta query clause. |
|
| 1538 | $found = get_terms( |
|
| 1539 | 'wptests_tax', array( |
|
| 1540 | 'hide_empty' => false, |
|
| 1541 | 'meta_query' => array( |
|
| 1542 | 'relation' => 'AND', |
|
| 1543 | array( |
|
| 1544 | 'key' => 'foo', |
|
| 1545 | 'compare' => 'EXISTS', |
|
| 1546 | ), |
|
| 1547 | array( |
|
| 1548 | 'key' => 'fee', |
|
| 1549 | 'compare' => 'EXISTS', |
|
| 1550 | ), |
|
| 1551 | ), |
|
| 1552 | 'orderby' => 'meta_value_num', |
|
| 1553 | 'order' => 'ASC', |
|
| 1554 | 'fields' => 'ids', |
|
| 1555 | ) |
|
| 1556 | ); |
|
| 1557 | ||
| 1558 | $this->assertEqualSets(array( $terms[1], $terms[2], $terms[0] ), $found); |
|
| 1559 | } |
|