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
Version | Description |
---|---|
WP-4.4.0 | Introduced. |