Query: Make sure the found_posts property of WP_Query is always an integer, to match the documented type.

This makes the property consistent with similar properties of other classes:
* `WP_Comment_Query::$found_comments`
* `WP_Network_Query::$found_networks`
* `WP_Site_Query::$found_sites`
* `WP_User_Query::$total_users`

Props birgire, PressLabs.
Fixes #42469.

git-svn-id: https://develop.svn.wordpress.org/trunk@48328 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov
2020-07-05 21:32:26 +00:00
parent 09921a5283
commit 530eedb538
2 changed files with 43 additions and 4 deletions

View File

@@ -3235,10 +3235,12 @@ class WP_Query {
*
* @since 2.1.0
*
* @param string $found_posts The query to run to find the found posts.
* @param WP_Query $this The WP_Query instance (passed by reference).
* @param string $found_posts_query The query to run to find the found posts.
* @param WP_Query $this The WP_Query instance (passed by reference).
*/
$this->found_posts = $wpdb->get_var( apply_filters_ref_array( 'found_posts_query', array( 'SELECT FOUND_ROWS()', &$this ) ) );
$found_posts_query = apply_filters_ref_array( 'found_posts_query', array( 'SELECT FOUND_ROWS()', &$this ) );
$this->found_posts = (int) $wpdb->get_var( $found_posts_query );
} else {
if ( is_array( $this->posts ) ) {
$this->found_posts = count( $this->posts );
@@ -3259,7 +3261,7 @@ class WP_Query {
* @param int $found_posts The number of posts found.
* @param WP_Query $this The WP_Query instance (passed by reference).
*/
$this->found_posts = apply_filters_ref_array( 'found_posts', array( $this->found_posts, &$this ) );
$this->found_posts = (int) apply_filters_ref_array( 'found_posts', array( $this->found_posts, &$this ) );
if ( ! empty( $limits ) ) {
$this->max_num_pages = ceil( $this->found_posts / $q['posts_per_page'] );