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.


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.

See also



(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


(mixed) Single metadata value, or array of values. False if there's a problem with the parameters passed to the function.


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 );


Version Description
2.9.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.