The has_meta() WordPress PHP function returns the meta data for a given post ID.
Usage
To use the has_meta() function, simply provide the post ID as an argument:
$post_meta = has_meta($post_id);
Parameters
- $post_id(int) – Required. The ID of the post for which you want to retrieve the meta data.
More information
See WordPress Developer Resources: has_meta()
Examples
Get post meta data
In this example, we will get the meta data for a post with an ID of 42.
$post_id = 42; $post_meta = has_meta($post_id);
Display meta data
Retrieve the meta data for a post and display it.
$post_id = 123;
$post_meta = has_meta($post_id);
if ($post_meta) {
    foreach ($post_meta as $meta) {
        echo 'Meta key: ' . $meta['meta_key'] . ', Meta value: ' . $meta['meta_value'] . '<br>';
    }
}
Check if a specific meta key exists
Check if a post has a specific meta key.
$post_id = 456;
$specific_meta_key = 'my_custom_key';
$post_meta = has_meta($post_id);
if ($post_meta) {
    $found = false;
    foreach ($post_meta as $meta) {
        if ($meta['meta_key'] == $specific_meta_key) {
            $found = true;
            break;
        }
    }
    if ($found) {
        echo 'Meta key found!';
    } else {
        echo 'Meta key not found.';
    }
}
Count the number of meta data entries
Count the number of meta data entries for a post.
$post_id = 789;
$post_meta = has_meta($post_id);
if ($post_meta) {
    $meta_count = count($post_meta);
    echo 'Number of meta data entries: ' . $meta_count;
}
Remove a specific meta key
Remove a specific meta key from a post.
$post_id = 101112;
$specific_meta_key = 'my_custom_key_to_remove';
$post_meta = has_meta($post_id);
if ($post_meta) {
    foreach ($post_meta as $meta) {
        if ($meta['meta_key'] == $specific_meta_key) {
            delete_post_meta($post_id, $specific_meta_key);
            echo 'Meta key removed!';
            break;
        }
    }
}