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?
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.