User Query: Cast $user_total as an int.

The `$user_total` member of `WP_User_Query`, and corresponding `get_total()` method, have always been documented as returning an `int`. `$user_total`, however, is populated by `$wpdb->get_var()`, which returns 
a string (containing an integer value). Casting the return value from `get_var()` as an `int` rectifies this discrepency.

Props runciters.
Fixes #39297.



git-svn-id: https://develop.svn.wordpress.org/trunk@39915 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Gary Pendergast 2017-01-16 23:23:06 +00:00
parent 708c750b2e
commit 8e3b56fbe3
2 changed files with 11 additions and 1 deletions

View File

@ -612,7 +612,7 @@ class WP_User_Query {
* @param string $sql The SELECT FOUND_ROWS() query for the current WP_User_Query.
*/
if ( isset( $qv['count_total'] ) && $qv['count_total'] )
$this->total_users = $wpdb->get_var( apply_filters( 'found_users_query', 'SELECT FOUND_ROWS()' ) );
$this->total_users = (int) $wpdb->get_var( apply_filters( 'found_users_query', 'SELECT FOUND_ROWS()' ) );
if ( !$this->results )
return;

View File

@ -124,6 +124,16 @@ class Tests_User_Query extends WP_UnitTestCase {
}
}
/**
* @ticket 39297
*/
public function test_get_total_is_int() {
$users = new WP_User_Query( array( 'blog_id' => get_current_blog_id() ) );
$total_users = $users->get_total();
$this->assertSame( 13, $total_users );
}
/**
* @dataProvider orderby_should_convert_non_prefixed_keys_data
*/