PagesLoader::getByPath() method

Get a page by its path, similar to $pages->get('/path/to/page/') but with more options

Please note

  1. There are no exclusions for page status or access. If needed, you should validate access on any page returned from this method.
  2. In a multi-language environment, you must specify the $useLanguages option to be true, if you want a result for a $path that is (or might be) a multi-language path. Otherwise, multi-language paths will make this method return a NullPage (or 0 if getID option is true).
  3. Partial paths may also match, so long as the partial path is completely unique in the site. If you don't want that behavior, double check the path of the returned page.
  4. See also the newer/more capable $pages->pathFinder() methods get('/path/') and getPage('/path/').

Usage

// basic usage
$page = $pagesLoader->getByPath(string $path);

// usage with all arguments
$page = $pagesLoader->getByPath(string $path, $options = []);

Arguments

NameType(s)Description
pathstring
options (optional)array, bool

array of options (below), or specify boolean for $useLanguages option only.

  • getID (bool): Specify true to just return the page ID (default=false)
  • useLanguages (bool): Specify true to allow retrieval by language-specific paths (default=false)
  • useHistory (bool): Allow use of previous paths used by the page, if PagePathHistory module is installed (default=false)
  • allowUrl (bool): Allow getting page by path OR url? Specify false to find only by path. This option only applies if the site happens to run from a subdirectory. (default=true) 3.0.184+
  • allowPartial (bool): Allow partial paths to match? (default=true) 3.0.184+
  • allowUrlSegments (bool): Allow paths with URL segments to match? When true and page match cannot be found, the closest parent page that allows URL segments will be returned. Found URL segments are populated to a _urlSegments array property on the returned page object. This also cancels the allowPartial setting. (default=false) 3.0.184+

Return value

Page int

See Also


PagesLoader 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

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani