$pages->getPath() method

Given an ID, return a path to a page, without loading the actual page

  1. Always returns path in default language, unless a language argument/option is specified.
  2. Path may be different from 'url' as it doesn't include the root URL at the beginning.
  3. In most cases, it's preferable to use $page->path() rather than this method. This method is here just for cases where a path is needed without loading the page.
  4. It's possible for there to be Page::path() hooks, and this method completely bypasses them, which is another reason not to use it unless you know such hooks aren't applicable to you.

Available since version 3.0.6.

Example

// Get the path for page having ID 1234
$path = $pages->getPath(1234);
echo "Path for page 1234 is: $path";

Usage

// basic usage
$string = $pages->getPath($id);

// usage with all arguments
$string = $pages->getPath($id, $options = []);

Arguments

NameType(s)Description
idint, Page

ID of the page you want the path to

options (optional)null, array, Language, int, string

Specify $options array or Language object, id or name. Allowed options include:

  • language (int|string|anguage): To retrieve in non-default language, specify language object, ID or name (default=null)
  • useCache (bool): Allow pulling paths from already loaded pages? (default=true)
  • usePagePaths (bool): Allow pulling paths from PagePaths module, if installed? (default=true)

Return value

string

Path to page or blank on error/not-found.

See Also


$pages methods and properties

API reference based on ProcessWire core version 3.0.200

Twitter updates

  • A review of weekly core updates, plus a simple recipe for a very effective listing cache—More
    24 June 2022
  • Weekly update: Making ProcessWire render pages at old WordPress URLs (or building a simple/custom URL router in PW): More
    17 June 2022
  • New post: ProcessWire now comes with just 1 site installation profile, the "blank" profile. It makes very few assumptions, making it a minimal though excellent starting point. Here’s how you might use it— More
    10 June 2022

Latest news

  • ProcessWire Weekly #423
    In the 423rd issue of ProcessWire Weekly we'll cover latest weekly update from Ryan, share some recent module updates and forum highlights, and more. Read on!
    Weekly.pw / 18 June 2022
  • Starting a site with the “blank” profile
    ProcessWire 3.0.200+ comes with just 1 site installation profile, the site-blank profile. This profile makes very few assumptions, making it a minimal though excellent starting point. Here’s how you might use it. 
    Blog / 10 June 2022
  • 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