Update term based on arguments provided.


wp_update_term( int $term_id, string $taxonomy, array|string $args = array() )


The $args will indiscriminately override all values with the same field name. Care must be taken to not override important information need to update or update will fail (or perhaps create a new term, neither would be acceptable).

Defaults will set ‘alias_of’, ‘description’, ‘parent’, and ‘slug’ if not defined in $args already.

‘alias_of’ will create a term group, if it doesn’t already exist, and update it for the $term.

If the ‘slug’ argument in $args is missing, then the ‘name’ in $args will be used. It should also be noted that if you set ‘slug’ and it isn’t unique then a WP_Error will be passed back. If you don’t pass any slug, then a unique one will be created for you.

For what can be overrode in $args, check the term scheme can contain and stay away from the term keys.



(int) (Required) The ID of the term


(string) (Required) The context in which to relate the term to the object.


(array|string) (Optional) Array of get_terms() arguments.

Default value: array()


(array|WP_Error) Returns Term ID and Taxonomy Term ID


File: wp-includes/taxonomy.php



Version Description
2.3.0 Introduced.
Scroll to Top