$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.167

Twitter updates

  • This week a 2nd new module for processing Stripe payments has been added to FormBuilder. Unlike our other Stripe Inputfield, this new one supports 3D Secure (SCA) payments. We’ll take a closer look at it in this post, plus a live demo— More
    16 October 2020
  • Quick weekly update covering this week's commits for the upcoming 3.0.167 ProcessWire core version— More
    18 September 2020
  • This week ProcessWire version 3.0.166 is released on the dev branch. In this post we’ll cover all that’s new relative to the previous version, 3.0.165. Plus we’ll check out the latest new versions of ProCache and FormBuilder— More
    11 September 2020

Latest news

  • ProcessWire Weekly #336
    In the 336th issue of ProcessWire Weekly we're going to introduce the Stripe action for FormBuilder, highlight some recent forum topics and other online resources, and more. Read on!
    Weekly.pw / 17 October 2020
  • Stripe Payment Processor for FormBuilder
    This week a second new module for processing Stripe payments has been added to FormBuilder. We’ll take a closer look at it in this blog post, plus we’ve got a demo of it here too.
    Blog / 16 October 2020
  • Subscribe to weekly ProcessWire news

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits