add_post_meta

The timeline below displays how wordpress function add_post_meta has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.4

//
// Post meta functions.
//
/**
 * Adds a meta field to the given post.
 *
 * Post meta data is called "Custom Fields" on the Administration Screen.
 *
 * @since 1.5.0
 *
 * @param int    $post_id    Post ID.
 * @param string $meta_key   Metadata name.
 * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
 * @param bool   $unique     Optional. Whether the same key should not be added.
 *                           Default false.
 * @return int|false Meta ID on success, false on failure.
 */
function add_post_meta($post_id, $meta_key, $meta_value, $unique = false)
{
    // 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 add_metadata('post', $post_id, $meta_key, $meta_value, $unique);
}

WordPress Version: 5.1

//
// Post meta functions
//
/**
 * Adds a meta field to the given post.
 *
 * Post meta data is called "Custom Fields" on the Administration Screen.
 *
 * @since 1.5.0
 *
 * @param int    $post_id    Post ID.
 * @param string $meta_key   Metadata name.
 * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
 * @param bool   $unique     Optional. Whether the same key should not be added.
 *                           Default false.
 * @return int|false Meta ID on success, false on failure.
 */
function add_post_meta($post_id, $meta_key, $meta_value, $unique = false)
{
    // 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 add_metadata('post', $post_id, $meta_key, $meta_value, $unique);
}

WordPress Version: 5.0

//
// Post meta functions
//
/**
 * Add meta data field to a post.
 *
 * Post meta data is called "Custom Fields" on the Administration Screen.
 *
 * @since 1.5.0
 *
 * @param int    $post_id    Post ID.
 * @param string $meta_key   Metadata name.
 * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
 * @param bool   $unique     Optional. Whether the same key should not be added.
 *                           Default false.
 * @return int|false Meta ID on success, false on failure.
 */
function add_post_meta($post_id, $meta_key, $meta_value, $unique = false)
{
    // 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 add_metadata('post', $post_id, $meta_key, $meta_value, $unique);
}

WordPress Version: 4.9

//
// Post meta functions
//
/**
 * Add meta data field to a post.
 *
 * Post meta data is called "Custom Fields" on the Administration Screen.
 *
 * @since 1.5.0
 *
 * @param int    $post_id    Post ID.
 * @param string $meta_key   Metadata name.
 * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
 * @param bool   $unique     Optional. Whether the same key should not be added.
 *                           Default false.
 * @return int|false Meta ID on success, false on failure.
 */
function add_post_meta($post_id, $meta_key, $meta_value, $unique = false)
{
    // Make sure meta is added to the post, not a revision.
    if ($the_post = wp_is_post_revision($post_id)) {
        $post_id = $the_post;
    }
    $added = add_metadata('post', $post_id, $meta_key, $meta_value, $unique);
    if ($added) {
        wp_cache_set('last_changed', microtime(), 'posts');
    }
    return $added;
}

WordPress Version: 4.3

//
// Post meta functions
//
/**
 * Add meta data field to a post.
 *
 * Post meta data is called "Custom Fields" on the Administration Screen.
 *
 * @since 1.5.0
 *
 * @param int    $post_id    Post ID.
 * @param string $meta_key   Metadata name.
 * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
 * @param bool   $unique     Optional. Whether the same key should not be added.
 *                           Default false.
 * @return int|false Meta ID on success, false on failure.
 */
function add_post_meta($post_id, $meta_key, $meta_value, $unique = false)
{
    // Make sure meta is added to the post, not a revision.
    if ($the_post = wp_is_post_revision($post_id)) {
        $post_id = $the_post;
    }
    return add_metadata('post', $post_id, $meta_key, $meta_value, $unique);
}

WordPress Version: 4.0

//
// Post meta functions
//
/**
 * Add meta data field to a post.
 *
 * Post meta data is called "Custom Fields" on the Administration Screen.
 *
 * @since 1.5.0
 *
 * @param int    $post_id    Post ID.
 * @param string $meta_key   Metadata name.
 * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
 * @param bool   $unique     Optional. Whether the same key should not be added.
 *                           Default false.
 * @return int|bool Meta ID on success, false on failure.
 */
function add_post_meta($post_id, $meta_key, $meta_value, $unique = false)
{
    // Make sure meta is added to the post, not a revision.
    if ($the_post = wp_is_post_revision($post_id)) {
        $post_id = $the_post;
    }
    return add_metadata('post', $post_id, $meta_key, $meta_value, $unique);
}

WordPress Version: 3.7

//
// Post meta functions
//
/**
 * Add meta data field to a post.
 *
 * Post meta data is called "Custom Fields" on the Administration Screen.
 *
 * @since 1.5.0
 * @link http://codex.wordpress.org/Function_Reference/add_post_meta
 *
 * @param int $post_id Post ID.
 * @param string $meta_key Metadata name.
 * @param mixed $meta_value Metadata value. Must be serializable if non-scalar.
 * @param bool $unique Optional, default is false. Whether the same key should not be added.
 * @return int|bool Meta ID on success, false on failure.
 */
function add_post_meta($post_id, $meta_key, $meta_value, $unique = false)
{
    // make sure meta is added to the post, not a revision
    if ($the_post = wp_is_post_revision($post_id)) {
        $post_id = $the_post;
    }
    return add_metadata('post', $post_id, $meta_key, $meta_value, $unique);
}