delete_post_meta()WP 1.5.0

Remove metadata matching criteria from a post.

You can match based on the key, or key and value. Removing based on key and value, will keep from removing duplicate metadata with the same key. It also allows removing all metadata matching the key, if needed.

No Hooks.


true|false. True on success, false on failure.


delete_post_meta( $post_id, $meta_key, $meta_value );
$post_id(int) (required)
Post ID.
$meta_key(string) (required)
Metadata name.
Metadata value. If provided, rows will only be removed that match the value. Must be serializable if non-scalar.
Default: ''


Since 1.5.0 Introduced.

Code of delete_post_meta() WP 5.9.3

function delete_post_meta( $post_id, $meta_key, $meta_value = '' ) {
	// Make sure meta is added to the post, not a revision.
	$the_post = wp_is_post_revision( $post_id );
	if ( $the_post ) {
		$post_id = $the_post;

	return delete_metadata( 'post', $post_id, $meta_key, $meta_value );