$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.236

Latest news

  • ProcessWire Weekly #519
    In the 519th issue of ProcessWire Weekly we'll check out a new third party module called RockForms, introduce the latest ProcessWire core updates, and more. Read on!
    Weekly.pw / 20 April 2024
  • ProFields Table Field with Actions support
    This week we have some updates for the ProFields table field (FieldtypeTable). These updates are primarily focused on adding new tools for the editor to facilitate input and management of content in a table field.
    Blog / 12 April 2024
  • Subscribe to weekly ProcessWire news

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer