Retrieve or save pages ($pages API variable as a function)

Accessing pages() is exactly the same as accessing $pages. Though there are a couple of optional shortcuts available by providing an argument to this function.

Example

// A call with no arguments returns the $pages API variable
$pages = pages();
$pageArray = pages()->find("selector");
$page = pages()->get(123);

// Providing selector as argument maps to $pages->find()
$pageArray = pages("template=basic-page");

// Providing argument of single page ID, path or name maps to $pages->get()
$page = pages(123);
$page = pages("/path/to/page/");
$page = pages("page-name"); 

Usage

// basic usage
$pages = pages();

// usage with all arguments
$pages = pages($selector = '');

Arguments

NameType(s)Description
selector (optional)string, array, int

Specify one of the following:

  • Nothing, makes it return the $pages API variable.
  • Selector (string) to find matching pages, makes function return PageArray - equivalent to $pages->find("selector");
  • Page ID (int) to return a single matching Page - equivalent to $pages->get(123);
  • Page name (string) to return a single page having the given name - equivalent to $pages->get("name");

Return value


Functions methods and properties

API reference based on ProcessWire core version 3.0.244

Latest news

  • ProcessWire Weekly #559
    The 559th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 25 January 2025
  • ProcessWire 3.0.244 new main/master version
    ProcessWire 3.0.244 is our newest main/master/stable version. It's been more than a year in the making and is packed with tons of new features, issue fixes, optimizations and more. This post covers all the details.
    Blog / 18 January 2025
  • Subscribe to weekly ProcessWire news

“…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull