get_metadata( string $meta_type, int $object_id, string $meta_key = '', bool $single = false )

Retrieves the value of a metadata field for the specified object type and ID.

Description Description

If the meta field exists, a single value is returned if $single is true, or an array of values if it’s false.

If the meta field does not exist, the result depends on get_metadata_default(). By default, an empty string is returned if $single is true, or an empty array if it’s false.

Top ↑

See also See also

Top ↑

Parameters Parameters


(string) (Required) Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user', or any other object type with an associated meta table.


(int) (Required) ID of the object metadata is for.


(string) (Optional) Metadata key. If not specified, retrieve all metadata for the specified object.

Default value: ''


(bool) (Optional) If true, return only the first value of the specified $meta_key. This parameter has no effect if $meta_key is not specified.

Default value: false

Top ↑

Return Return

(mixed) An array of values if $single is false. The value of the meta field if $single is true. False for an invalid $object_id (non-numeric, zero, or negative value), or if $meta_type is not specified. An empty string if a valid but non-existing object ID is passed.

Top ↑

Source Source

File: wp-includes/meta.php

function get_metadata( $meta_type, $object_id, $meta_key = '', $single = false ) {
	$value = get_metadata_raw( $meta_type, $object_id, $meta_key, $single );
	if ( ! is_null( $value ) ) {
		return $value;

	return get_metadata_default( $meta_type, $object_id, $meta_key, $single );

Top ↑

Changelog Changelog

Version Description
2.9.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 2 content

    Example of returned array for post metadatas :

    array (
      '_pingme' => array (
        0 => '1',
      '_encloseme' => array (
        0 => '1',
      'custom key 1' => array (
        0 => 'custom value 1',
        1 => 'custom value 2',
      'custom key 2' => array (
        0 => 'custom value 3',

You must log in before being able to contribute a note or feedback.