$pages->findIDs() method

Like find() except returns array of IDs rather than Page objects

  • This is a faster method to use when you only need to know the matching page IDs.
  • The default behavior is to simply return a regular PHP array of matching page IDs in order.
  • The alternate behavior (verbose) returns more information for each match, as outlined below.

Verbose option:
When specifying boolean true for the $options argument (or using the verbose option), the return value is an array of associative arrays, with each of those associative arrays containing id, parent_id and templates_id keys for each page.

Available since version 3.0.46.


// returns array of page IDs (integers) like [ 1234, 1235, 1236 ]
$a = $pages->findIDs("foo=bar");

// verbose option: returns array of associative arrays, each with id, parent_id and templates_id
$a = $pages->findIDs("foo=bar", true);


// basic usage
$array = $pages->findIDs($selector);

// usage with all arguments
$array = $pages->findIDs($selector, $options = []);


selectorstring, array, Selectors

Selector to find page IDs.

options (optional)array, bool, int, string

Options to modify behavior.

  • verbose (bool|int|string): Specify true to make return value array of associative arrays, each with id, parent_id, templates_id. Specify integer 2 or string * to return verbose array of associative arrays, each with all columns from pages table.
  • indexed (bool): Index by page ID? (default=false) Added 3.0.172
  • The verbose option above can also be specified as alternative to the $options argument.
  • See Pages::find() $options argument for additional options.

Return value


Array of page IDs, or in verbose mode: array of arrays, each with id, parent_id and templates_id keys.

$pages methods and properties

API reference based on ProcessWire core version 3.0.209

Twitter updates

  • ProcessWire 3.0.210 new main/master version released— More
    6 January 2023
  • ProcessWire 3.0.209: Core updates and an interesting AI that knows ProcessWire– More
    30 December 2022
  • Implementing and using TinyMCE 6 in ProcessWire– More
    16 December 2022

Latest news

  • ProcessWire Weekly #454
    In the 454th issue of ProcessWire Weekly we'll introduce a couple of brand new third party modules, check out what's new in the latest dev version of ProcessWire (3.0.211), and more. Read on!
    Weekly.pw / 21 January 2023
  • ProcessWire 3.0.210 new main/master version
    140 commits, 55 resolved issues, dozens of new features, eight contributors, and five new pull requests make yet another great new version of ProcessWire.
    Blog / 6 January 2023
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH