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

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.

Top ↑

See also

Top ↑


$meta_type string Required
Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user', or any other object type with an associated meta table.
$object_id int Required
ID of the object metadata is for.
$meta_key string Optional
Metadata key. If not specified, retrieve all metadata for the specified object.

Default: ''

$single 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: false

Top ↑


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 ↑


File: wp-includes/meta.php. View all references

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 ↑


Version Description
2.9.0 Introduced.

Top ↑

User Contributed Notes

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