On this page
metadata_exists( string $meta_type, int $object_id, string $meta_key ): bool
Determines if a meta field with the given key exists for the given object ID.
Parameters
$meta_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 metadata is for.
$meta_keystring Required-
Metadata key.
Return
bool Whether a meta field with the given key exists.
Source
File: wp-includes/meta.php. View all references
function metadata_exists( $meta_type, $object_id, $meta_key ) {
if ( ! $meta_type || ! is_numeric( $object_id ) ) {
return false;
}
$object_id = absint( $object_id );
if ( ! $object_id ) {
return false;
}
/** This filter is documented in wp-includes/meta.php */
$check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, true, $meta_type );
if ( null !== $check ) {
return (bool) $check;
}
$meta_cache = wp_cache_get( $object_id, $meta_type . '_meta' );
if ( ! $meta_cache ) {
$meta_cache = update_meta_cache( $meta_type, array( $object_id ) );
$meta_cache = $meta_cache[ $object_id ];
}
if ( isset( $meta_cache[ $meta_key ] ) ) {
return true;
}
return false;
}
Hooks
- apply_filters( "get_{$meta_type}_metadata",
mixed $value ,int $object_id ,string $meta_key ,bool $single ,string $meta_type ) -
Short-circuits the return value of a meta field.
Related
Uses
| Uses | Description |
|---|---|
| update_meta_cache() wp-includes/meta.php | Updates the metadata cache for the specified objects. |
| wp_cache_get() wp-includes/cache.php | Retrieves the cache contents from the cache by key and group. |
| absint() wp-includes/functions.php | Converts a value to non-negative integer. |
| apply_filters() wp-includes/plugin.php | Calls the callback functions that have been added to a filter hook. |
Used By
| Used By | Description |
|---|---|
| wp_install_defaults() wp-admin/includes/upgrade.php | Creates the initial content for a newly-installed site. |
| WP_User::__isset() wp-includes/class-wp-user.php | Magic method for checking the existence of a certain custom field. |
| WP_Post::__isset() wp-includes/class-wp-post.php | Isset-er. |
Changelog
| Version | Description |
|---|---|
| 3.3.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/metadata_exists