$page->hasStatus() method

Does this page have the given status?

This method is the preferred way to check if a page has a particular status. The status may be specified as one of the Page::status constants or a string representing one of the constants, i.e. hidden, unpublished, locked, and so on.


// check if page has hidden status using status name
if($page->hasStatus('hidden')) { ... }

// check if page has hidden status using status constant
if($page->hasStatus(Page::statusHidden)) { ... }

// There are also method shortcuts, i.e.
if($page->isHidden()) { ... }
if($page->isUnpublished()) { ... }
if($page->isLocked()) { ... }


$bool = $page->hasStatus($status);


statusint, string

Status flag constant or string representation (hidden, locked, unpublished, etc.)

Return value


Returns true if page has the given status, or false if it doesn't.

See Also

$page methods and properties

API reference based on ProcessWire core version 3.0.137

Twitter updates

  • ProcessWire 3.0.146 on the dev branch contains about 22 commits with a combination of useful upgrades and issue report resolutions, more details in this forum post: More
    22 November 2019
  • ProcessWire 3.0.144 and 3.0.145 add improved field template context override settings and include a new Inputfields API, along with numerous other issue fixes, optimizations and improvements to the core. More
    8 November 2019
  • ProcessWire 3.0.144 core updates: Upgraded overrides section in the field editor, a new Inputfields JS API, and more— More
    1 November 2019

Latest news

  • ProcessWire Weekly #291
    In the 291st issue of ProcessWire Weekly we're going to take a closer look at the latest core updates, check out a brand new third party module called ProcessHelpVideos, and introduce a new site of the week. Read on!
    Weekly.pw / 8 December 2019
  • New User Activity module
    Blog / 29 November 2019
  • 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