On this page
get_registered_metadata( string $object_type, int $object_id, string $meta_key = '' ): mixed
Retrieves registered metadata for a specified object.
Description
The results include both meta that is registered specifically for the object’s subtype and meta that is registered for the entire object type.
Parameters
$object_typestring Required-
Type of object metadata is for. Accepts
'post','comment','term','user', or any other object type with an associated meta table. $object_idint Required-
ID of the object the metadata is for.
$meta_keystring Optional-
Registered metadata key. If not specified, retrieve all registered metadata for the specified object.
Default:
''
Return
mixed A single value or array of values for a key if specified. An array of all registered keys and values for an object ID if not. False if a given $meta_key is not registered.
Source
File: wp-includes/meta.php. View all references
function get_registered_metadata( $object_type, $object_id, $meta_key = '' ) {
$object_subtype = get_object_subtype( $object_type, $object_id );
if ( ! empty( $meta_key ) ) {
if ( ! empty( $object_subtype ) && ! registered_meta_key_exists( $object_type, $meta_key, $object_subtype ) ) {
$object_subtype = '';
}
if ( ! registered_meta_key_exists( $object_type, $meta_key, $object_subtype ) ) {
return false;
}
$meta_keys = get_registered_meta_keys( $object_type, $object_subtype );
$meta_key_data = $meta_keys[ $meta_key ];
$data = get_metadata( $object_type, $object_id, $meta_key, $meta_key_data['single'] );
return $data;
}
$data = get_metadata( $object_type, $object_id );
if ( ! $data ) {
return array();
}
$meta_keys = get_registered_meta_keys( $object_type );
if ( ! empty( $object_subtype ) ) {
$meta_keys = array_merge( $meta_keys, get_registered_meta_keys( $object_type, $object_subtype ) );
}
return array_intersect_key( $data, $meta_keys );
}
Related
Uses
| Uses | Description |
|---|---|
| get_object_subtype() wp-includes/meta.php | Returns the object subtype for a given object ID of a specific type. |
| registered_meta_key_exists() wp-includes/meta.php | Checks if a meta key is registered. |
| get_registered_meta_keys() wp-includes/meta.php | Retrieves a list of registered metadata args for an object type, keyed by their meta keys. |
| get_metadata() wp-includes/meta.php | Retrieves the value of a metadata field for the specified object type and ID. |
Changelog
| Version | Description |
|---|---|
| 4.6.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_registered_metadata