Ticket #31220: 31220.patch
| File 31220.patch, 1.5 KB (added by , 11 years ago) |
|---|
-
src/wp-includes/user.php
631 631 $orderby = 'ID'; 632 632 } elseif ( 'meta_value' == $qv['orderby'] ) { 633 633 $orderby = "$wpdb->usermeta.meta_value"; 634 } elseif ( 'meta_value_num' == $qv['orderby'] ) { 635 $orderby = "$wpdb->usermeta.meta_value+0"; 634 636 } elseif ( 'include' === $qv['orderby'] && ! empty( $include ) ) { 635 637 // Sanitized earlier. 636 638 $include_sql = implode( ',', $include ); -
tests/phpunit/tests/user/query.php
186 186 } 187 187 188 188 /** 189 * @ticket 31220 190 */ 191 public function test_orderby_meta_value_num() { 192 $users = $this->factory->user->create_many( 3, array( 193 'role' => 'author' 194 ) ); 195 196 update_user_meta( $users[0], 'user_age', '101' ); 197 update_user_meta( $users[1], 'user_age', '20' ); 198 update_user_meta( $users[2], 'user_age', '25' ); 199 200 $q = new WP_User_Query( array( 201 'include' => $users, 202 'meta_key' => 'user_age', 203 'orderby' => 'meta_value_num', 204 'fields' => 'ids' 205 ) ); 206 207 $expected = array( $users[1], $users[2], $users[0] ); 208 209 $this->assertEquals( $expected, $q->get_results() ); 210 } 211 212 /** 189 213 * @ticket 21119 190 214 */ 191 215 function test_prepare_query() {