add_meta

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

WordPress Version: 6.2

//
// Post Meta.
//
/**
 * Adds post meta data defined in the `$_POST` superglobal for a post with given ID.
 *
 * @since 1.2.0
 *
 * @param int $post_id
 * @return int|bool
 */
function add_meta($post_id)
{
    $post_id = (int) $post_id;
    $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash(trim($_POST['metakeyselect'])) : '';
    $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash(trim($_POST['metakeyinput'])) : '';
    $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
    if (is_string($metavalue)) {
        $metavalue = trim($metavalue);
    }
    if ('#NONE#' !== $metakeyselect && !empty($metakeyselect) || !empty($metakeyinput)) {
        /*
         * We have a key/value pair. If both the select and the input
         * for the key have data, the input takes precedence.
         */
        if ('#NONE#' !== $metakeyselect) {
            $metakey = $metakeyselect;
        }
        if ($metakeyinput) {
            $metakey = $metakeyinput;
            // Default.
        }
        if (is_protected_meta($metakey, 'post') || !current_user_can('add_post_meta', $post_id, $metakey)) {
            return false;
        }
        $metakey = wp_slash($metakey);
        return add_post_meta($post_id, $metakey, $metavalue);
    }
    return false;
}

WordPress Version: 5.9

//
// Post Meta.
//
/**
 * Adds post meta data defined in the `$_POST` superglobal for a post with given ID.
 *
 * @since 1.2.0
 *
 * @param int $post_ID
 * @return int|bool
 */
function add_meta($post_ID)
{
    $post_ID = (int) $post_ID;
    $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash(trim($_POST['metakeyselect'])) : '';
    $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash(trim($_POST['metakeyinput'])) : '';
    $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
    if (is_string($metavalue)) {
        $metavalue = trim($metavalue);
    }
    if ('#NONE#' !== $metakeyselect && !empty($metakeyselect) || !empty($metakeyinput)) {
        /*
         * We have a key/value pair. If both the select and the input
         * for the key have data, the input takes precedence.
         */
        if ('#NONE#' !== $metakeyselect) {
            $metakey = $metakeyselect;
        }
        if ($metakeyinput) {
            $metakey = $metakeyinput;
            // Default.
        }
        if (is_protected_meta($metakey, 'post') || !current_user_can('add_post_meta', $post_ID, $metakey)) {
            return false;
        }
        $metakey = wp_slash($metakey);
        return add_post_meta($post_ID, $metakey, $metavalue);
    }
    return false;
}

WordPress Version: 5.5

//
// Post Meta.
//
/**
 * Add post meta data defined in $_POST superglobal for post with given ID.
 *
 * @since 1.2.0
 *
 * @param int $post_ID
 * @return int|bool
 */
function add_meta($post_ID)
{
    $post_ID = (int) $post_ID;
    $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash(trim($_POST['metakeyselect'])) : '';
    $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash(trim($_POST['metakeyinput'])) : '';
    $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
    if (is_string($metavalue)) {
        $metavalue = trim($metavalue);
    }
    if ('#NONE#' !== $metakeyselect && !empty($metakeyselect) || !empty($metakeyinput)) {
        /*
         * We have a key/value pair. If both the select and the input
         * for the key have data, the input takes precedence.
         */
        if ('#NONE#' !== $metakeyselect) {
            $metakey = $metakeyselect;
        }
        if ($metakeyinput) {
            $metakey = $metakeyinput;
            // Default.
        }
        if (is_protected_meta($metakey, 'post') || !current_user_can('add_post_meta', $post_ID, $metakey)) {
            return false;
        }
        $metakey = wp_slash($metakey);
        return add_post_meta($post_ID, $metakey, $metavalue);
    }
    return false;
}

WordPress Version: 5.4

//
// Post Meta.
//
/**
 * Add post meta data defined in $_POST superglobal for post with given ID.
 *
 * @since 1.2.0
 *
 * @param int $post_ID
 * @return int|bool
 */
function add_meta($post_ID)
{
    $post_ID = (int) $post_ID;
    $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash(trim($_POST['metakeyselect'])) : '';
    $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash(trim($_POST['metakeyinput'])) : '';
    $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
    if (is_string($metavalue)) {
        $metavalue = trim($metavalue);
    }
    if ('#NONE#' != $metakeyselect && !empty($metakeyselect) || !empty($metakeyinput)) {
        /*
         * We have a key/value pair. If both the select and the input
         * for the key have data, the input takes precedence.
         */
        if ('#NONE#' != $metakeyselect) {
            $metakey = $metakeyselect;
        }
        if ($metakeyinput) {
            $metakey = $metakeyinput;
            // Default.
        }
        if (is_protected_meta($metakey, 'post') || !current_user_can('add_post_meta', $post_ID, $metakey)) {
            return false;
        }
        $metakey = wp_slash($metakey);
        return add_post_meta($post_ID, $metakey, $metavalue);
    }
    return false;
}

WordPress Version: 5.1

//
// Post Meta
//
/**
 * Add post meta data defined in $_POST superglobal for post with given ID.
 *
 * @since 1.2.0
 *
 * @param int $post_ID
 * @return int|bool
 */
function add_meta($post_ID)
{
    $post_ID = (int) $post_ID;
    $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash(trim($_POST['metakeyselect'])) : '';
    $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash(trim($_POST['metakeyinput'])) : '';
    $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
    if (is_string($metavalue)) {
        $metavalue = trim($metavalue);
    }
    if ('#NONE#' != $metakeyselect && !empty($metakeyselect) || !empty($metakeyinput)) {
        /*
         * We have a key/value pair. If both the select and the input
         * for the key have data, the input takes precedence.
         */
        if ('#NONE#' != $metakeyselect) {
            $metakey = $metakeyselect;
        }
        if ($metakeyinput) {
            $metakey = $metakeyinput;
            // default
        }
        if (is_protected_meta($metakey, 'post') || !current_user_can('add_post_meta', $post_ID, $metakey)) {
            return false;
        }
        $metakey = wp_slash($metakey);
        return add_post_meta($post_ID, $metakey, $metavalue);
    }
    return false;
}

WordPress Version: 5.0

//
// Post Meta
//
/**
 * Add post meta data defined in $_POST superglobal for post with given ID.
 *
 * @since 1.2.0
 *
 * @param int $post_ID
 * @return int|bool
 */
function add_meta($post_ID)
{
    $post_ID = (int) $post_ID;
    $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash(trim($_POST['metakeyselect'])) : '';
    $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash(trim($_POST['metakeyinput'])) : '';
    $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
    if (is_string($metavalue)) {
        $metavalue = trim($metavalue);
    }
    if ('#NONE#' != $metakeyselect && !empty($metakeyselect) || !empty($metakeyinput)) {
        /*
         * We have a key/value pair. If both the select and the input
         * for the key have data, the input takes precedence.
         */
        if ('#NONE#' != $metakeyselect) {
            $metakey = $metakeyselect;
        }
        if ($metakeyinput) {
            $metakey = $metakeyinput;
        }
        // default
        if (is_protected_meta($metakey, 'post') || !current_user_can('add_post_meta', $post_ID, $metakey)) {
            return false;
        }
        $metakey = wp_slash($metakey);
        return add_post_meta($post_ID, $metakey, $metavalue);
    }
    return false;
}

WordPress Version: 4.2

//
// Post Meta
//
/**
 * Add post meta data defined in $_POST superglobal for post with given ID.
 *
 * @since 1.2.0
 *
 * @param int $post_ID
 * @return int|bool
 */
function add_meta($post_ID)
{
    $post_ID = (int) $post_ID;
    $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash(trim($_POST['metakeyselect'])) : '';
    $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash(trim($_POST['metakeyinput'])) : '';
    $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
    if (is_string($metavalue)) {
        $metavalue = trim($metavalue);
    }
    if (('0' === $metavalue || !empty($metavalue)) && ('#NONE#' != $metakeyselect && !empty($metakeyselect) || !empty($metakeyinput))) {
        /*
         * We have a key/value pair. If both the select and the input
         * for the key have data, the input takes precedence.
         */
        if ('#NONE#' != $metakeyselect) {
            $metakey = $metakeyselect;
        }
        if ($metakeyinput) {
            $metakey = $metakeyinput;
        }
        // default
        if (is_protected_meta($metakey, 'post') || !current_user_can('add_post_meta', $post_ID, $metakey)) {
            return false;
        }
        $metakey = wp_slash($metakey);
        return add_post_meta($post_ID, $metakey, $metavalue);
    }
    return false;
}

WordPress Version: 4.1

//
// Post Meta
//
/**
 * {@internal Missing Short Description}}
 *
 * @since 1.2.0
 *
 * @param int $post_ID
 * @return int|bool
 */
function add_meta($post_ID)
{
    $post_ID = (int) $post_ID;
    $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash(trim($_POST['metakeyselect'])) : '';
    $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash(trim($_POST['metakeyinput'])) : '';
    $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
    if (is_string($metavalue)) {
        $metavalue = trim($metavalue);
    }
    if (('0' === $metavalue || !empty($metavalue)) && ('#NONE#' != $metakeyselect && !empty($metakeyselect) || !empty($metakeyinput))) {
        /*
         * We have a key/value pair. If both the select and the input
         * for the key have data, the input takes precedence.
         */
        if ('#NONE#' != $metakeyselect) {
            $metakey = $metakeyselect;
        }
        if ($metakeyinput) {
            $metakey = $metakeyinput;
        }
        // default
        if (is_protected_meta($metakey, 'post') || !current_user_can('add_post_meta', $post_ID, $metakey)) {
            return false;
        }
        $metakey = wp_slash($metakey);
        return add_post_meta($post_ID, $metakey, $metavalue);
    }
    return false;
}

WordPress Version: 4.0

//
// Post Meta
//
/**
 * {@internal Missing Short Description}}
 *
 * @since 1.2.0
 *
 * @param unknown_type $post_ID
 * @return unknown
 */
function add_meta($post_ID)
{
    $post_ID = (int) $post_ID;
    $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash(trim($_POST['metakeyselect'])) : '';
    $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash(trim($_POST['metakeyinput'])) : '';
    $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
    if (is_string($metavalue)) {
        $metavalue = trim($metavalue);
    }
    if (('0' === $metavalue || !empty($metavalue)) && ('#NONE#' != $metakeyselect && !empty($metakeyselect) || !empty($metakeyinput))) {
        /*
         * We have a key/value pair. If both the select and the input
         * for the key have data, the input takes precedence.
         */
        if ('#NONE#' != $metakeyselect) {
            $metakey = $metakeyselect;
        }
        if ($metakeyinput) {
            $metakey = $metakeyinput;
        }
        // default
        if (is_protected_meta($metakey, 'post') || !current_user_can('add_post_meta', $post_ID, $metakey)) {
            return false;
        }
        $metakey = wp_slash($metakey);
        return add_post_meta($post_ID, $metakey, $metavalue);
    }
    return false;
}

WordPress Version: 3.7

//
// Post Meta
//
/**
 * {@internal Missing Short Description}}
 *
 * @since 1.2.0
 *
 * @param unknown_type $post_ID
 * @return unknown
 */
function add_meta($post_ID)
{
    global $wpdb;
    $post_ID = (int) $post_ID;
    $metakeyselect = isset($_POST['metakeyselect']) ? wp_unslash(trim($_POST['metakeyselect'])) : '';
    $metakeyinput = isset($_POST['metakeyinput']) ? wp_unslash(trim($_POST['metakeyinput'])) : '';
    $metavalue = isset($_POST['metavalue']) ? $_POST['metavalue'] : '';
    if (is_string($metavalue)) {
        $metavalue = trim($metavalue);
    }
    if (('0' === $metavalue || !empty($metavalue)) && ('#NONE#' != $metakeyselect && !empty($metakeyselect) || !empty($metakeyinput))) {
        // We have a key/value pair. If both the select and the
        // input for the key have data, the input takes precedence:
        if ('#NONE#' != $metakeyselect) {
            $metakey = $metakeyselect;
        }
        if ($metakeyinput) {
            $metakey = $metakeyinput;
        }
        // default
        if (is_protected_meta($metakey, 'post') || !current_user_can('add_post_meta', $post_ID, $metakey)) {
            return false;
        }
        $metakey = wp_slash($metakey);
        return add_post_meta($post_ID, $metakey, $metavalue);
    }
    return false;
}