get_registered_metadata()
Retrieves registered metadata for a specified object.
The results include both meta that is registered specifically for the object's subtype and meta that is registered for the entire object type.
No Hooks.
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.
Usage
get_registered_metadata( $object_type, $object_id, $meta_key );
- $object_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 the metadata is for.
- $meta_key(string)
- Registered metadata key. If not specified, retrieve all registered metadata for the specified object.
Default: ''
Changelog
Since 4.6.0 | Introduced. |
get_registered_metadata() get registered metadata code WP 6.7.1
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 ); }