update_term_meta( int $term_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' )

Updates term metadata.


Description

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

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


Parameters

$term_id

(Required) Term ID.

$meta_key

(Required) Metadata key.

$meta_value

(Required) Metadata value.

$prev_value

(Optional) Previous value to check before removing.

Default value: ''


Return

(int|WP_Error|bool) Meta ID if the key didn't previously exist. True on successful update. WP_Error when term_id is ambiguous between taxonomies. False on failure.


Source

File: wp-includes/taxonomy.php

function update_term_meta( $term_id, $meta_key, $meta_value, $prev_value = '' ) {
	// 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 );
	}

	$updated = update_metadata( 'term', $term_id, $meta_key, $meta_value, $prev_value );

	// Bust term query cache.
	if ( $updated ) {
		wp_cache_set( 'last_changed', microtime(), 'terms' );
	}

	return $updated;
}


Changelog

Changelog
Version Description
WP-4.4.0 Introduced.