Skip to content

Kirby 4.2.0


Change the status of the current page to either draft, listed or unlisted.

$page->changeStatus(string $status, ?int $position = null): Kirby\Cms\Page


Name Type Default Description
$status * string "draft", "listed" or "unlisted"
$position int|null null Optional sorting number

Return type


This method does not modify the existing $page object but returns a new object with the changes applied. Learn more →


Type Description
Kirby\Exception\InvalidArgumentException If an invalid status is being passed

Parent class



Note that you cannot change the status of a page using this method if you have set permissions that disallow changing the status, e.g. set status: false in your blueprint.

Kirby's objects are immutable. That means, when you modify an object like $page, $file etc. using a method like update(), changeTitle() and so on, a new object is returned. Therefore, you have to store the returned object in a new variable to be able to further work with it.