A WordPress-centric search engine for devs and theme authors



update_term_meta ›

Since4.4.0
Deprecatedn/a
update_term_meta ( $term_id, $meta_key, $meta_value, $prev_value = '' )
Parameters: (4)
  • (int) $term_id Term ID.
    Required: Yes
  • (string) $meta_key Metadata key.
    Required: Yes
  • (mixed) $meta_value Metadata value.
    Required: Yes
  • (mixed) $prev_value Optional. Previous value to check before removing.
    Required: No
    Default: (empty)
Returns:
  • (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.
Defined at:
Codex:

Updates term metadata.

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.



Source

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;
}