add_term_meta

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

WordPress Version: 5.5

/**
 * Adds metadata to a term.
 *
 * @since 4.4.0
 *
 * @param int    $term_id    Term 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|WP_Error Meta ID on success, false on failure.
 *                            WP_Error when term_id is ambiguous between taxonomies.
 */
function add_term_meta($term_id, $meta_key, $meta_value, $unique = false)
{
    if (wp_term_is_shared($term_id)) {
        return new WP_Error('ambiguous_term_id', __('Term meta cannot be added to terms that are shared between taxonomies.'), $term_id);
    }
    return add_metadata('term', $term_id, $meta_key, $meta_value, $unique);
}

WordPress Version: 5.0

/**
 * Adds metadata to a term.
 *
 * @since 4.4.0
 *
 * @param int    $term_id    Term ID.
 * @param string $meta_key   Metadata name.
 * @param mixed  $meta_value Metadata value.
 * @param bool   $unique     Optional. Whether to bail if an entry with the same key is found for the term.
 *                           Default false.
 * @return int|WP_Error|bool Meta ID on success. WP_Error when term_id is ambiguous between taxonomies.
 *                           False on failure.
 */
function add_term_meta($term_id, $meta_key, $meta_value, $unique = false)
{
    if (wp_term_is_shared($term_id)) {
        return new WP_Error('ambiguous_term_id', __('Term meta cannot be added to terms that are shared between taxonomies.'), $term_id);
    }
    return add_metadata('term', $term_id, $meta_key, $meta_value, $unique);
}

WordPress Version: 4.4

/**
 * Adds metadata to a term.
 *
 * @since 4.4.0
 *
 * @param int    $term_id    Term ID.
 * @param string $meta_key   Metadata name.
 * @param mixed  $meta_value Metadata value.
 * @param bool   $unique     Optional. Whether to bail if an entry with the same key is found for the term.
 *                           Default false.
 * @return int|WP_Error|bool Meta ID on success. WP_Error when term_id is ambiguous between taxonomies.
 *                           False on failure.
 */
function add_term_meta($term_id, $meta_key, $meta_value, $unique = false)
{
    // Bail if term meta table is not installed.
    if (get_option('db_version') < 34370) {
        return false;
    }
    if (wp_term_is_shared($term_id)) {
        return new WP_Error('ambiguous_term_id', __('Term meta cannot be added to terms that are shared between taxonomies.'), $term_id);
    }
    $added = add_metadata('term', $term_id, $meta_key, $meta_value, $unique);
    // Bust term query cache.
    if ($added) {
        wp_cache_set('last_changed', microtime(), 'terms');
    }
    return $added;
}