$pages->has() method

Is there any page that matches the given $selector in the system? (with no exclusions)

  • This can be used as an “exists” type of method.
  • Returns ID of first matching page if any exist, or 0 if none exist (returns array if $verbose is true).
  • Like with the get() method, no pages are excluded, so an include=all is not necessary in selector.
  • If you need to quickly check if something exists, this method is preferable to using a count() or get().

When $verbose option is used, an array is returned instead. Verbose return array includes page id, parent_id and templates_id indexes.

Available since version 3.0.153.


// basic usage
$array = $pages->has($selector);

// usage with all arguments
$array = $pages->has($selector, bool $verbose = false);


selectorstring, int, array, Selectors
verbose (optional)bool

Return verbose array with page id, parent_id, templates_id rather than just page id? (default=false)

Return value

array int

See Also

$pages methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #527
    In the 527th issue of ProcessWire Weekly we'll check out what's new in the core this week, introduce a new third party module called Lister Calculator, and more. Read on!
    Weekly.pw / 15 June 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

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH