$page->hasChildren() method

Return the number of visible children, optionally with conditions

This method is similar to $page->numChildren() except that the default behavior is to exclude non-visible children.

This method may be more convenient for front-end navigation use than the $page->numChildren() method because it only includes the count of visible children. By visible, we mean children that are not hidden, unpublished, or non-accessible due to access control.


// Determine if we should show navigation to children
if($page->hasChildren()) {
  // Yes, we should show navigation to children


// basic usage
$int = $page->hasChildren();

// usage with all arguments
$int = $page->hasChildren($selector = true);


selector (optional)

Return value


Number of children

$page methods and properties

API reference based on ProcessWire core version 3.0.185

Twitter updates

  • ProcessWire 3.0.187: This week we have some very useful new additions to both the core Repeater Fieldtype and the ProFields Repeater Matrix Fieldtype. This post covers all the details along with a couple of brief demonstration videos— More
    22 October 2021
  • ProcessWire 3.0.185 (dev) core updates, plus new Session Allow module— More
    17 September 2021
  • Three new ProcessWire Textformatter modules: Find/Replace, Markdown in Markup, and Emoji— More
    3 September 2021

Latest news

  • ProcessWire Weekly #388
    In the 388th issue of ProcessWire Weekly we'll check out the latest core update, introduce two new third party modules, and more. Read on!
    Weekly.pw / 16 October 2021
  • ProcessWire 3.0.184 new master/main version
    This week we have a new master/main version released after a full year in the making. As you might imagine, this new version has a ton of great new stuff and we’ll try to cover much of it here.
    Blog / 27 August 2021
  • 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