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

Twitter updates

  • Preliminary 2021 roadmap in progress in this week’s update— More
    8 January 2021
  • Happy New Year! Today I’ve bumped the version on the dev branch to 3.0.170, and it’s quite a lot of updates. This post covers most of them. In this post, there’s also a question for you: what would you like to see in ProcessWire in 2021? More
    1 January 2021
  • In this week’s blog post we’ll take a brief look at a powerful new ProFields module for ProcessWire that’s just around the corner—the Combo field: More
    4 December 2020

Latest news

  • ProcessWire Weekly #348
    In the 348th issue of ProcessWire Weekly we're going to check out the first version of the new roadmap for ProcessWire, talk a bit about front-end frameworks, and introduce a new site of the week. Read on!
    Weekly.pw / 9 January 2021
  • ProcessWire 3.0.170 core updates
    Happy New Year! Today I’ve bumped the version on the dev branch to 3.0.170, and it’s quite a lot of updates. This post covers most of them. In this post, there’s also a question for you: what would you like to see in ProcessWire in 2021?
    Blog / 1 January 2021
  • 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