$pages->getByIDs() method

Given array or CSV string of Page IDs, return a PageArray

Available since version 3.0.156. Previous versions can use $pages->getById() for similar behavior


// basic usage
$items = $pages->getByIDs($ids);

// usage with all arguments
$items = $pages->getByIDs($ids, array $options = []);


idsarray, string, WireArray

Any one of the following:

  • Single page ID (string or int)
  • Array of page IDs
  • Comma or pipe-separated string of page IDs
  • Array of associative arrays having id and templates_id: [ [ 'id' => 1, 'templates_id' => 2], [ 'id' => 3, 'templates_id' => 4 ] ]
options (optional)array

Options to affect behavior. The 'template' option is recommended when you have this info available.

  • template (Template|int|string): Template object, name or ID to use for loaded pages. (default=null)
  • parent (Page|int|string): Parent Page object, ID, or path to use for loaded pages. (default=null)
  • cache (bool): Place loaded pages in memory cache? (default=true)
  • getFromCache (bool): Allow use of previously cached pages in memory (rather than re-loading it from DB)? (default=true)
  • getNumChildren (bool): Specify false to disable retrieval and population of 'numChildren' Page property. (default=true)
  • getOne (bool): Specify true to return just one Page object, rather than a PageArray. (default=false)
  • autojoin (bool): Allow use of autojoin option? (default=true)
  • joinFields (array): Autojoin the field names specified in this array, regardless of field settings (requires autojoin=true). (default=empty)
  • joinSortfield (bool): Whether the 'sortfield' property will be joined to the page. (default=true)
  • findTemplates (bool): Determine which templates will be used (when no template specified) for more specific autojoins. (default=true)
  • pageClass (string): Class to instantiate Page objects with. Leave blank to determine from template. (default=auto-detect)
  • pageArrayClass (string): PageArray-derived class to store pages in (when 'getOne' is false). (default=PageArray)
  • pageArray (PageArray|null): Populate this existing PageArray rather than creating a new one. (default=null)
  • page (Page|null): Existing Page object to populate (also requires the getOne option to be true). (default=null)

Return value

PageArray Page

Returns PageArray unless the getOne option was specified in which case a Page is returned.

$pages methods and properties

API reference based on ProcessWire core version 3.0.214

Twitter updates

    Error retrieving Twitter status

Latest news

  • ProcessWire Weekly #472
    In the 472nd issue of ProcessWire Weekly we'll check out ProcessWire 3.0.218, the very first add-on WireCache module, a new third party FormBuilder add-on module, and more. Read on!
    Weekly.pw / 28 May 2023
  • A look at the new Page Edit Restore module
    The new Page Edit Restore module helps to prevent page edits in the admin from getting lost when the user’s session is lost. This post covers it in detail.
    Blog / 12 May 2023
  • Subscribe to weekly ProcessWire news

“Yesterday I sent the client a short documentation for their ProcessWire-powered website. Today all features already used with no questions. #cmsdoneright—Marc Hinse, Web designer/developer