$page->parents() method

Return this page’s parent pages, or the parent pages matching the given selector.

This method returns all parents of this page, in order. If a selector is specified, they will be filtered by the selector. By default, parents are returned in breadcrumb order. In 3.0.158+ if you specify boolean true for selector argument, then it will return parents in reverse order (closest to furthest).

Examples

// Render breadcrumbs 
foreach($page->parents() as $parent) {
  echo "<li><a href='$parent->url'>$parent->title</a></li>";
}
// Return all parents, excluding the homepage
$parents = $page->parents("template!=home"); 
// Return parents in reverse order (closest to furthest, 3.0.158+)
$parents = $page->parents(true); 

Usage

// basic usage
$items = $page->parents();

// usage with all arguments
$items = $page->parents($selector = '');

Arguments

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

Optional selector string to filter parents by or boolean true for reverse order

Return value

PageArray

All parent pages, or those matching the given selector.


$page 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

“…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