The registered_meta_key_exists() WordPress PHP function checks if a meta key is registered for a specific object type and its subtype.
Usage
registered_meta_key_exists( $object_type, $meta_key, $object_subtype )
Example:
Input: registered_meta_key_exists( 'post', 'my_custom_meta_key' )
Output: true
or false
Parameters
$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.$meta_key
(string) - Required. Metadata key.$object_subtype
(string) - Optional. The subtype of the object type. Default: ''.
More information
See WordPress Developer Resources: registered_meta_key_exists()
Examples
Check if a post meta key is registered
Check if the 'my_custom_meta_key' is registered for the 'post' object type.
if ( registered_meta_key_exists( 'post', 'my_custom_meta_key' ) ) { echo '**my_custom_meta_key** is registered!'; } else { echo '**my_custom_meta_key** is not registered.'; }
Check if a user meta key is registered
Check if the 'user_favorite_color' is registered for the 'user' object type.
if ( registered_meta_key_exists( 'user', 'user_favorite_color' ) ) { echo '**user_favorite_color** is registered!'; } else { echo '**user_favorite_color** is not registered.'; }
Check if a term meta key is registered
Check if the 'term_icon' is registered for the 'term' object type.
if ( registered_meta_key_exists( 'term', 'term_icon' ) ) { echo '**term_icon** is registered!'; } else { echo '**term_icon** is not registered.'; }
Check if a comment meta key is registered
Check if the 'comment_rating' is registered for the 'comment' object type.
if ( registered_meta_key_exists( 'comment', 'comment_rating' ) ) { echo '**comment_rating** is registered!'; } else { echo '**comment_rating** is not registered.'; }
Check if a custom object type meta key is registered
Check if the 'custom_metadata' is registered for the 'custom_object_type' object type and its subtype 'custom_subtype'.
if ( registered_meta_key_exists( 'custom_object_type', 'custom_metadata', 'custom_subtype' ) ) { echo '**custom_metadata** is registered for custom_subtype!'; } else { echo '**custom_metadata** is not registered for custom_subtype.'; }