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.155

Twitter updates

  • This post covers a few of the bigger updates in ProcessWire 3.0.154+3.0.155. This includes new live replacement of text in core and modules, a new method for creating canonical URLs, and some major upgrades to our input->urlSegment() method! More
    24 April 2020
  • A brief look at what's new in ProcessWire 3.0.154 in this forum post: More
    17 April 2020
  • This week we’ve got a few new and interesting core updates in progress, though none quite ready to release just yet. So rather than releasing version 3.0.154 today, I thought we'd instead take a brief look at what’s coming over the next few weeks… More
    3 April 2020

Latest news

  • ProcessWire Weekly #311
    In the 311th issue of ProcessWire Weekly we're going to talk a bit about the latest dev versions of ProcessWire, introduce a couple of new third party modules, and more. Read on!
    Weekly.pw / 25 April 2020
  • ProcessWire 3.0.154 and 3.0.155 core updates
    This post covers a few of the bigger updates in ProcessWire 3.0.154 and 3.0.155 on the dev branch. This includes a new function for live replacement of text in core and modules, a new method for creating canonical URLs, and some major upgrades to our $input->urlSegment() method that I think you’ll like!
    Blog / 24 April 2020
  • Subscribe to weekly ProcessWire news

“I am currently managing a ProcessWire site with 2 million+ pages. It’s admirably fast, and much, much faster than any other CMS we tested.” —Nickie, Web developer