# $page

The `$page` object is the heart and soul of Kirby. It is used to construct pages and all their dependencies like children, files, content, etc.

****

- Full class name: `Kirby\Cms\Page`
- Alias: `Page`
- Source: <https://github.com/getkirby/kirby/tree/5.5.3/src/Cms/Page.php#L36>

****

### $page

- [$page->__call()](https://getkirby.com/docs/reference/objects/cms/page/__call.md)
- [new Page()](https://getkirby.com/docs/reference/objects/cms/page/__construct.md)
- [$page->__debugInfo()](https://getkirby.com/docs/reference/objects/cms/page/__debug-info.md)
- [$page->__toString()](https://getkirby.com/docs/reference/objects/cms/page/__to-string.md)
- [$page->apiUrl()](https://getkirby.com/docs/reference/objects/cms/page/api-url.md)
- [$page->audio()](https://getkirby.com/docs/reference/objects/cms/page/audio.md)
- [$page->blueprint()](https://getkirby.com/docs/reference/objects/cms/page/blueprint.md)
- [$page->blueprints()](https://getkirby.com/docs/reference/objects/cms/page/blueprints.md)
- [$page->changeNum()](https://getkirby.com/docs/reference/objects/cms/page/change-num.md)
- [$page->changeSlug()](https://getkirby.com/docs/reference/objects/cms/page/change-slug.md)
- [$page->changeSort()](https://getkirby.com/docs/reference/objects/cms/page/change-sort.md)
- [$page->changeStatus()](https://getkirby.com/docs/reference/objects/cms/page/change-status.md)
- [$page->changeStorage()](https://getkirby.com/docs/reference/objects/cms/page/change-storage.md)
- [$page->changeTemplate()](https://getkirby.com/docs/reference/objects/cms/page/change-template.md)
- [$page->changeTitle()](https://getkirby.com/docs/reference/objects/cms/page/change-title.md)
- [$page->children()](https://getkirby.com/docs/reference/objects/cms/page/children.md)
- [$page->childrenAndDrafts()](https://getkirby.com/docs/reference/objects/cms/page/children-and-drafts.md)
- [$page->clone()](https://getkirby.com/docs/reference/objects/cms/page/clone.md)
- [$page->code()](https://getkirby.com/docs/reference/objects/cms/page/code.md)
- [$page->content()](https://getkirby.com/docs/reference/objects/cms/page/content.md)
- [$page->contentFileData()](https://getkirby.com/docs/reference/objects/cms/page/content-file-data.md)
- [$page->controller()](https://getkirby.com/docs/reference/objects/cms/page/controller.md)
- [$page->copy()](https://getkirby.com/docs/reference/objects/cms/page/copy.md)
- [Page::create()](https://getkirby.com/docs/reference/objects/cms/page/create.md)
- [$page->createChild()](https://getkirby.com/docs/reference/objects/cms/page/create-child.md)
- [$page->createDefaultContent()](https://getkirby.com/docs/reference/objects/cms/page/create-default-content.md)
- [$page->createFile()](https://getkirby.com/docs/reference/objects/cms/page/create-file.md)
- [$page->createNum()](https://getkirby.com/docs/reference/objects/cms/page/create-num.md)
- [$page->decrement()](https://getkirby.com/docs/reference/objects/cms/page/decrement.md)
- [$page->delete()](https://getkirby.com/docs/reference/objects/cms/page/delete.md)
- [$page->depth()](https://getkirby.com/docs/reference/objects/cms/page/depth.md)
- [$page->dirname()](https://getkirby.com/docs/reference/objects/cms/page/dirname.md)
- [$page->diruri()](https://getkirby.com/docs/reference/objects/cms/page/diruri.md)
- [$page->documents()](https://getkirby.com/docs/reference/objects/cms/page/documents.md)
- [$page->draft()](https://getkirby.com/docs/reference/objects/cms/page/draft.md)
- [$page->drafts()](https://getkirby.com/docs/reference/objects/cms/page/drafts.md)
- [$page->duplicate()](https://getkirby.com/docs/reference/objects/cms/page/duplicate.md)
- [$page->errors()](https://getkirby.com/docs/reference/objects/cms/page/errors.md)
- [$page->exists()](https://getkirby.com/docs/reference/objects/cms/page/exists.md)
- [Page::extendModels()](https://getkirby.com/docs/reference/objects/cms/page/extend-models.md)
- [Page::factory()](https://getkirby.com/docs/reference/objects/cms/page/factory.md)
- [$page->file()](https://getkirby.com/docs/reference/objects/cms/page/file.md)
- [$page->files()](https://getkirby.com/docs/reference/objects/cms/page/files.md)
- [$page->find()](https://getkirby.com/docs/reference/objects/cms/page/find.md)
- [$page->findPageOrDraft()](https://getkirby.com/docs/reference/objects/cms/page/find-page-or-draft.md)
- [$page->getMethod()](https://getkirby.com/docs/reference/objects/cms/page/get-method.md)
- [$page->go()](https://getkirby.com/docs/reference/objects/cms/page/go.md)
- [$page->grandChildren()](https://getkirby.com/docs/reference/objects/cms/page/grand-children.md)
- [$page->hardcopy()](https://getkirby.com/docs/reference/objects/cms/page/hardcopy.md)
- [$page->hasAudio()](https://getkirby.com/docs/reference/objects/cms/page/has-audio.md)
- [$page->hasChildren()](https://getkirby.com/docs/reference/objects/cms/page/has-children.md)
- [$page->hasCode()](https://getkirby.com/docs/reference/objects/cms/page/has-code.md)
- [$page->hasDocuments()](https://getkirby.com/docs/reference/objects/cms/page/has-documents.md)
- [$page->hasDrafts()](https://getkirby.com/docs/reference/objects/cms/page/has-drafts.md)
- [$page->hasFiles()](https://getkirby.com/docs/reference/objects/cms/page/has-files.md)
- [$page->hasImages()](https://getkirby.com/docs/reference/objects/cms/page/has-images.md)
- [$page->hasListedChildren()](https://getkirby.com/docs/reference/objects/cms/page/has-listed-children.md)
- [$page->hasMethod()](https://getkirby.com/docs/reference/objects/cms/page/has-method.md)
- [$page->hasNext()](https://getkirby.com/docs/reference/objects/cms/page/has-next.md)
- [$page->hasNextListed()](https://getkirby.com/docs/reference/objects/cms/page/has-next-listed.md)
- [$page->hasNextUnlisted()](https://getkirby.com/docs/reference/objects/cms/page/has-next-unlisted.md)
- [$page->hasPrev()](https://getkirby.com/docs/reference/objects/cms/page/has-prev.md)
- [$page->hasPrevListed()](https://getkirby.com/docs/reference/objects/cms/page/has-prev-listed.md)
- [$page->hasPrevUnlisted()](https://getkirby.com/docs/reference/objects/cms/page/has-prev-unlisted.md)
- [$page->hasTemplate()](https://getkirby.com/docs/reference/objects/cms/page/has-template.md)
- [$page->hasUnlistedChildren()](https://getkirby.com/docs/reference/objects/cms/page/has-unlisted-children.md)
- [$page->hasVideos()](https://getkirby.com/docs/reference/objects/cms/page/has-videos.md)
- [$page->id()](https://getkirby.com/docs/reference/objects/cms/page/id.md)
- [$page->image()](https://getkirby.com/docs/reference/objects/cms/page/image.md)
- [$page->images()](https://getkirby.com/docs/reference/objects/cms/page/images.md)
- [$page->increment()](https://getkirby.com/docs/reference/objects/cms/page/increment.md)
- [$page->index()](https://getkirby.com/docs/reference/objects/cms/page/index.md)
- [$page->indexOf()](https://getkirby.com/docs/reference/objects/cms/page/index-of.md)
- [$page->intendedTemplate()](https://getkirby.com/docs/reference/objects/cms/page/intended-template.md)
- [$page->inventory()](https://getkirby.com/docs/reference/objects/cms/page/inventory.md)
- [$page->is()](https://getkirby.com/docs/reference/objects/cms/page/is.md)
- [$page->isAccessible()](https://getkirby.com/docs/reference/objects/cms/page/is-accessible.md)
- [$page->isActive()](https://getkirby.com/docs/reference/objects/cms/page/is-active.md)
- [$page->isAncestorOf()](https://getkirby.com/docs/reference/objects/cms/page/is-ancestor-of.md)
- [$page->isCacheable()](https://getkirby.com/docs/reference/objects/cms/page/is-cacheable.md)
- [$page->isChildOf()](https://getkirby.com/docs/reference/objects/cms/page/is-child-of.md)
- [$page->isDescendantOf()](https://getkirby.com/docs/reference/objects/cms/page/is-descendant-of.md)
- [$page->isDescendantOfActive()](https://getkirby.com/docs/reference/objects/cms/page/is-descendant-of-active.md)
- [$page->isDraft()](https://getkirby.com/docs/reference/objects/cms/page/is-draft.md)
- [$page->isErrorPage()](https://getkirby.com/docs/reference/objects/cms/page/is-error-page.md)
- [$page->isFirst()](https://getkirby.com/docs/reference/objects/cms/page/is-first.md)
- [$page->isHomeOrErrorPage()](https://getkirby.com/docs/reference/objects/cms/page/is-home-or-error-page.md)
- [$page->isHomePage()](https://getkirby.com/docs/reference/objects/cms/page/is-home-page.md)
- [$page->isLast()](https://getkirby.com/docs/reference/objects/cms/page/is-last.md)
- [$page->isListable()](https://getkirby.com/docs/reference/objects/cms/page/is-listable.md)
- [$page->isListed()](https://getkirby.com/docs/reference/objects/cms/page/is-listed.md)
- [$page->isLocked()](https://getkirby.com/docs/reference/objects/cms/page/is-locked.md)
- [$page->isMovableTo()](https://getkirby.com/docs/reference/objects/cms/page/is-movable-to.md)
- [$page->isNth()](https://getkirby.com/docs/reference/objects/cms/page/is-nth.md)
- [$page->isOpen()](https://getkirby.com/docs/reference/objects/cms/page/is-open.md)
- [$page->isPublished()](https://getkirby.com/docs/reference/objects/cms/page/is-published.md)
- [$page->isReadable()](https://getkirby.com/docs/reference/objects/cms/page/is-readable.md)
- [$page->isSortable()](https://getkirby.com/docs/reference/objects/cms/page/is-sortable.md)
- [$page->isUnlisted()](https://getkirby.com/docs/reference/objects/cms/page/is-unlisted.md)
- [$page->isValid()](https://getkirby.com/docs/reference/objects/cms/page/is-valid.md)
- [$page->kirby()](https://getkirby.com/docs/reference/objects/cms/page/kirby.md)
- [$page->lock()](https://getkirby.com/docs/reference/objects/cms/page/lock.md)
- [$page->mediaDir()](https://getkirby.com/docs/reference/objects/cms/page/media-dir.md)
- [$page->mediaRoot()](https://getkirby.com/docs/reference/objects/cms/page/media-root.md)
- [$page->mediaUrl()](https://getkirby.com/docs/reference/objects/cms/page/media-url.md)
- [Page::model()](https://getkirby.com/docs/reference/objects/cms/page/model.md)
- [$page->modified()](https://getkirby.com/docs/reference/objects/cms/page/modified.md)
- [$page->move()](https://getkirby.com/docs/reference/objects/cms/page/move.md)
- [$page->next()](https://getkirby.com/docs/reference/objects/cms/page/next.md)
- [$page->nextAll()](https://getkirby.com/docs/reference/objects/cms/page/next-all.md)
- [$page->nextListed()](https://getkirby.com/docs/reference/objects/cms/page/next-listed.md)
- [$page->nextUnlisted()](https://getkirby.com/docs/reference/objects/cms/page/next-unlisted.md)
- [$page->num()](https://getkirby.com/docs/reference/objects/cms/page/num.md)
- [$page->panel()](https://getkirby.com/docs/reference/objects/cms/page/panel.md)
- [$page->parent()](https://getkirby.com/docs/reference/objects/cms/page/parent.md)
- [$page->parentId()](https://getkirby.com/docs/reference/objects/cms/page/parent-id.md)
- [$page->parentModel()](https://getkirby.com/docs/reference/objects/cms/page/parent-model.md)
- [$page->parents()](https://getkirby.com/docs/reference/objects/cms/page/parents.md)
- [$page->permalink()](https://getkirby.com/docs/reference/objects/cms/page/permalink.md)
- [$page->permissions()](https://getkirby.com/docs/reference/objects/cms/page/permissions.md)
- [$page->prev()](https://getkirby.com/docs/reference/objects/cms/page/prev.md)
- [$page->prevAll()](https://getkirby.com/docs/reference/objects/cms/page/prev-all.md)
- [$page->prevListed()](https://getkirby.com/docs/reference/objects/cms/page/prev-listed.md)
- [$page->prevUnlisted()](https://getkirby.com/docs/reference/objects/cms/page/prev-unlisted.md)
- [$page->previewUrl()](https://getkirby.com/docs/reference/objects/cms/page/preview-url.md)
- [$page->publish()](https://getkirby.com/docs/reference/objects/cms/page/publish.md)
- [$page->purge()](https://getkirby.com/docs/reference/objects/cms/page/purge.md)
- [$page->query()](https://getkirby.com/docs/reference/objects/cms/page/query.md)
- [$page->readContent()](https://getkirby.com/docs/reference/objects/cms/page/read-content.md)
- [$page->render()](https://getkirby.com/docs/reference/objects/cms/page/render.md)
- [$page->renderVersionFromRequest()](https://getkirby.com/docs/reference/objects/cms/page/render-version-from-request.md)
- [$page->representation()](https://getkirby.com/docs/reference/objects/cms/page/representation.md)
- [$page->resortSiblingsAfterUnlisting()](https://getkirby.com/docs/reference/objects/cms/page/resort-siblings-after-unlisting.md)
- [$page->root()](https://getkirby.com/docs/reference/objects/cms/page/root.md)
- [$page->save()](https://getkirby.com/docs/reference/objects/cms/page/save.md)
- [$page->search()](https://getkirby.com/docs/reference/objects/cms/page/search.md)
- [$page->siblings()](https://getkirby.com/docs/reference/objects/cms/page/siblings.md)
- [$page->site()](https://getkirby.com/docs/reference/objects/cms/page/site.md)
- [$page->slug()](https://getkirby.com/docs/reference/objects/cms/page/slug.md)
- [$page->status()](https://getkirby.com/docs/reference/objects/cms/page/status.md)
- [$page->storage()](https://getkirby.com/docs/reference/objects/cms/page/storage.md)
- [$page->template()](https://getkirby.com/docs/reference/objects/cms/page/template.md)
- [$page->templateSiblings()](https://getkirby.com/docs/reference/objects/cms/page/template-siblings.md)
- [$page->title()](https://getkirby.com/docs/reference/objects/cms/page/title.md)
- [$page->toArray()](https://getkirby.com/docs/reference/objects/cms/page/to-array.md)
- [$page->toSafeString()](https://getkirby.com/docs/reference/objects/cms/page/to-safe-string.md)
- [$page->toString()](https://getkirby.com/docs/reference/objects/cms/page/to-string.md)
- [$page->translation()](https://getkirby.com/docs/reference/objects/cms/page/translation.md)
- [$page->translations()](https://getkirby.com/docs/reference/objects/cms/page/translations.md)
- [$page->uid()](https://getkirby.com/docs/reference/objects/cms/page/uid.md)
- [$page->unpublish()](https://getkirby.com/docs/reference/objects/cms/page/unpublish.md)
- [$page->update()](https://getkirby.com/docs/reference/objects/cms/page/update.md)
- [$page->uri()](https://getkirby.com/docs/reference/objects/cms/page/uri.md)
- [$page->url()](https://getkirby.com/docs/reference/objects/cms/page/url.md)
- [$page->urlForLanguage()](https://getkirby.com/docs/reference/objects/cms/page/url-for-language.md)
- [$page->uuid()](https://getkirby.com/docs/reference/objects/cms/page/uuid.md)
- [$page->version()](https://getkirby.com/docs/reference/objects/cms/page/version.md)
- [$page->versions()](https://getkirby.com/docs/reference/objects/cms/page/versions.md)
- [$page->videos()](https://getkirby.com/docs/reference/objects/cms/page/videos.md)
- [$page->writeContent()](https://getkirby.com/docs/reference/objects/cms/page/write-content.md)

You can extend this set of methods with <a href="https://getkirby.com/docs/reference/plugins/extensions/page-methods">custom page methods</a> or in a <a href="https://getkirby.com/docs/reference/plugins/extensions/page-models">page model</a>.

## How to fetch the `$page` object

The `$page` class is available in Kirby's templates/snippets etc. through the `$page` variable that -  unless otherwise defined – always refers to the current page. However, you can also define a `$page` object by calling a specific page using the [`page()` helper](/docs/reference/templates/helpers/page):

```php
$page = page('somepage');
```

Or getting it from a collection of pages

```php
$page = $pages->first();
```

<info>
When getting a specific page via the [`page()` helper](/docs/reference/templates/helpers/page) or when trying to create a page object from field values stored in content, always verify that you have a page object before you call any of the Page methods.
</info>

## Content fields

The `$page` class offers a magic caller for your <a href="https://getkirby.com/docs/guide/content/fields">content fields</a>. Instead of getting them via e.g.

```php
$page->content()->get('your_field')
```

you can use the shorthand

```php
$page->your_field()
```

<info>
You can not use the shorthand for fields with names that conflict with the default methods of the `$page` class (see above) or used by custom page methods.
</info>

## Examples

With the `$page` object defined, you can start using the methods of the class:

### Get a field of the page

```php
<?= $page->title() ?>
```

### Get the children of the page

```php
<?php $children = $page->children() ?>
```

### Get all images of the page

```php
<?php $images = $page->images() ?>
```

### Check if the page is active

```php
<?php e($page->isActive(), 'active') ?>
```

### Check if the page has draft children

```php
if ($page->hasDrafts()) {
  echo "This page still has some children that haven't been published yet";
}
```