$page->meta() method

Get or set page’s persistent meta data

This meta data is managed in the DB. Setting a value immediately saves it in the DB, while getting a value immediately loads it from the DB. As a result, this data is independent of the usual Page load and save operations. This is primarily for internal core use, but may be useful for other specific non-core purposes as well.

Note that this meta data is completely free-form and has no connection to ProcessWire fields. Values for meta data must be basic PHP types, whether arrays, strings, numbers, etc. Please do not use objects for meta values at this time.

Available since version 3.0.133.

Example

// set and save a meta value 
$page->meta()->set('colors', [ 'red, 'green', 'blue' ]);

// get a meta value
$colors = $page->meta()->get('colors');

// alternate shorter syntax for either of the above
$page->meta('colors', [ 'red', 'green', 'blue' ]); // set
$colors = $page->meta('colors'); // get

// delete a meta value
$page->meta()->remove('colors');

// get the WireDataDB instance that stores the meta values,
// it has all the same methods as WireData objects...
$meta = $page->meta();

// ...such as, get all values in an array:
$values = $meta->getArray();

Usage

// basic usage
$wireDataDB = $page->meta();

// usage with all arguments
$wireDataDB = $page->meta($key = '', $value = null);

Arguments

NameType(s)Description
key (optional)string, bool

Omit to get the WireData instance or specify property name to get or set.

value (optional)null, mixed

Value to set for given $key or omit if getting a value.

Return value

WireDataDB string array int float


$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 #290
    In the 290th issue of ProcessWire Weekly we're going to introduce the latest addition to the ProDevTools module package and a third party image picker field from gebeer, check out a new site of the week, and more. Read on!
    Weekly.pw / 30 November 2019
  • New User Activity module
    Blog / 29 November 2019
  • Subscribe to weekly ProcessWire news

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer