update_post_meta( int $post_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' )

Update post meta field based on post ID.


Description

Use the $prev_value parameter to differentiate between meta fields with the same key and post ID.

If the meta field for the post does not exist, it will be added.


Parameters

$post_id

(int) (Required) Post ID.

$meta_key

(string) (Required) Metadata key.

$meta_value

(mixed) (Required) Metadata value. Must be serializable if non-scalar.

$prev_value

(mixed) (Optional) Previous value to check before removing.

Default value: ''


Return

(int|bool) Meta ID if the key didn't exist, true on successful update, false on failure.


Source

File: wp-includes/post.php

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

	$updated = update_metadata( 'post', $post_id, $meta_key, $meta_value, $prev_value );
	if ( $updated ) {
		wp_cache_set( 'last_changed', microtime(), 'posts' );
	}
	return $updated;
}


Changelog

Changelog
Version Description
WP-1.5.0 Introduced.