public function copy_term($term, $target, $taxonomy) { self::$copying_term = true; $document = $this->get_group('term', $term->term_id); $cp_lang = $this->pllm->get_language($target); $cp_term = (array) $term; //unset($cp_term['term_id']); if (isset($cp_term['slug']) && term_exists($cp_term['slug'])) { $cp_term['slug'] .= '-' . $cp_lang->slug; } $new_term = wp_insert_term($cp_term['name'], $taxonomy, $cp_term); if (!is_wp_error($new_term)) { $this->pllm->set_term_language($new_term['term_id'], $cp_lang); wp_set_object_terms($new_term['term_id'], $document->term_id, 'term_translations'); $document->desc_array[$target] = $new_term['term_id']; $document->save(); } self::$copying_term = false; }