From my understanding (and before trial and error),

wp_set_object_terms( 'post_id', 'add_this_term', 'in_this_taxonomy');

But from the Codex, apparently adding the term will overwrite any other terms that are set for that post and that taxonomy?

Is this right? What if the terms are nested?

2 Answers 2


wp_set_object_terms() has a fourth argument called append. Setting that to true during the call should add the term without unsetting the already set terms.

wp_set_object_terms( $post_id, 'add_this_term', 'in_this_taxonomy', true);

You can check to see what currently is in the term by using wp_get_object_terms(), you can run logic on this and decide what to put into the database, and whether you're amending the current data or creating entirely new data.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.