WP_Query::set_found_posts() – Set up the amount of found posts and the number of pages (if limit clause was used) for the current query.

You appear to be a bot. Output may be restricted

Description

Set up the amount of found posts and the number of pages (if limit clause was used) for the current query.

Usage

WP_Query::set_found_posts( $q, $limits );

Parameters

$q
( array ) required – Query variables.
$limits
( string ) required – LIMIT clauses of the query.

Returns

void

Source

File name: wordpress/wp-includes/class-wp-query.php
Lines:

1 to 47 of 47
  private function set_found_posts( $q, $limits ) {
    global $wpdb;

    // Bail if posts is an empty array. Continue if posts is an empty string,
    // null, or false to accommodate caching plugins that fill posts later.
    if ( $q['no_found_rows'] || ( is_array( $this->posts ) && ! $this->posts ) ) {
      return;
    }

    if ( ! empty( $limits ) ) {
      
/**
 * Filters the query to run for retrieving the found posts.
 *
 * @since 2.1.0
 *
 * @param string   $found_posts_query The query to run to find the found posts.
 * @param WP_Query $query             The WP_Query instance (passed by reference).
 */
      $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 );
      } else {
        if ( null === $this->posts ) {
          $this->found_posts = 0;
        } else {
          $this->found_posts = 1;
        }
      }
    }

    
/**
 * Filters the number of found posts for the query.
 *
 * @since 2.1.0
 *
 * @param int      $found_posts The number of posts found.
 * @param WP_Query $query       The WP_Query instance (passed by reference).
 */
    $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'] );
    }
  }
 

 View on GitHub View on Trac