title: update wp_set_post_terms not working in wordpress
body: <p>Actually I am using wp job manager plugin. The plugin has only one custom taxonomy
  Here is the code to register taxonomy in plugin</p>
  
  <pre><code>register_taxonomy( "job_listing_type",
              array( "job_listing" ),
              array(
                  'hierarchical'          =&gt; true,
                  'label'                 =&gt; $plural,
                  'labels' =&gt; array(
                      'name'              =&gt; $plural,
                      'singular_name'     =&gt; $singular,
                      'search_items'      =&gt; sprintf( __( 'Search %s', 'wp-job-manager' ), $plural ),
                      'all_items'         =&gt; sprintf( __( 'All %s', 'wp-job-manager' ), $plural ),
                      'parent_item'       =&gt; sprintf( __( 'Parent %s', 'wp-job-manager' ), $singular ),
                      'parent_item_colon' =&gt; sprintf( __( 'Parent %s:', 'wp-job-manager' ), $singular ),
                      'edit_item'         =&gt; sprintf( __( 'Edit %s', 'wp-job-manager' ), $singular ),
                      'update_item'       =&gt; sprintf( __( 'Update %s', 'wp-job-manager' ), $singular ),
                      'add_new_item'      =&gt; sprintf( __( 'Add New %s', 'wp-job-manager' ), $singular ),
                      'new_item_name'     =&gt; sprintf( __( 'New %s Name', 'wp-job-manager' ),  $singular )
                  ),
                  'show_ui'               =&gt; true,
                  'query_var'             =&gt; true,
                  'capabilities'          =&gt; array(
                      'manage_terms'      =&gt; $admin_capability,
                      'edit_terms'        =&gt; $admin_capability,
                      'delete_terms'      =&gt; $admin_capability,
                      'assign_terms'      =&gt; $admin_capability,
                  ),
                 'rewrite'                =&gt; $rewrite,
              )
          );
  </code></pre>
  
  <p>Then I added Three more taxonomies using</p>
  
  <pre><code>function skw_build_taxonomies() {
  
  
  
      //Sports
       $brand_args = array(
       'label' =&gt; 'Sports',
       'hierarchical' =&gt; true,
       'query_var' =&gt; true,
       'rewrite' =&gt; array('slug' =&gt; 'sport-cat')
       );
       register_taxonomy( 'sport-cat', 'job_listing', $brand_args );
  
        //Arts
       $brand_args1 = array(
       'label' =&gt; 'Arts &amp; Music',
       'hierarchical' =&gt; true,
       'query_var' =&gt; true,
       'rewrite' =&gt; array('slug' =&gt; 'art-cat')
       );
       register_taxonomy( 'art-cat', 'job_listing', $brand_args1 );
  
       //Academic &amp; Tech
       $brand_args2 = array(
       'label' =&gt; 'Academic &amp; Tech',
       'hierarchical' =&gt; true,
       'query_var' =&gt; true,
       'rewrite' =&gt; array('slug' =&gt; 'academic-cat')
       );
       register_taxonomy( 'academic-cat', 'job_listing', $brand_args2 );
  
      }
      add_action( 'init', 'skw_build_taxonomies', 0 );
  </code></pre>
  
  <p>Instead of this code I also used the plugin's code by changing taxonomy name and slug.
  Now after inserting post, this code sets taxonomy successfully.
  But when I want to update the post by using a custom form at front end, it adds the term related to taxonomy job_listing_type to all the four taxonomies and sets it. and sets the other three taxonomy terms correctly.
  Here is my code to set the terms.</p>
  
  <pre><code>&lt;input type="checkbox" name="_job_academic[]" value="&lt;?php echo $term-&gt;id; ?&gt;" &lt;?php if(in_array($term-&gt;slug,$slug)) { echo 'checked="checked"'; } ?&gt; /&gt;&amp;nbsp;&amp;nbsp;&lt;?php echo $term-&gt;name ?&gt;&lt;/span&gt;//sample html in the form
  </code></pre>
  
  <p>and here is php code to set the terms</p>
  
  <pre><code>wp_set_post_terms( $postid, $_POST['_job_type'], 'job_listing_type' );
              wp_set_post_terms( $postid, $_POST['_job_arts'], 'art-cat' );
              wp_set_post_terms( $postid, $_POST['_job_academic'], 'academic-cat' );
              wp_set_post_terms( $postid, $_POST['_job_sports'], 'sport-cat' );
  </code></pre>
  
  <p>I also tested this but same result</p>
  
  <pre><code>wp_set_object_terms( $postid, $_POST['_job_type'], 'job_listing_type', false );
              wp_set_object_terms( $postid, $_POST['_job_arts'], 'art-cat', false );
              wp_set_object_terms( $postid, $_POST['_job_academic'], 'academic-cat', false );
              wp_set_object_terms( $postid, $_POST['_job_sports'], 'sport-cat', false );
  </code></pre>
  
  <p>for example
  I have four taxonomies named x1, x2, x3, x4</p>
  
  <pre><code>x1 has terms a, b, c, d
  x2 has terms e, f, g, h
  x3 has terms i, j, k, l
  x4 has terms m, n, o, p
  </code></pre>
  
  <p>at front end, these terms are shown with checkboxes. So suppose I have checked a, e, i, m  terms. So all of these should be set for that post. Bet wp_set_post_terms adds the term of X1 to all other taxonomies. Here is the final result</p>
  
  <pre><code>x1 has terms a, b, c, d, d
  x2 has terms e, f, g, h, d
  x3 has terms i, j, k, l, d
  x4 has terms m, n, o, p, d
  </code></pre>