Только руки опять дошли до этой проблемы – получилось “победить”.
Сама проблема связанна с внутренними функциями Ворпресса.
Есть 2 варианта решения проблемы:
Вариант 1.
Плюсы: просто
Минусы: не будет срабатывать обновление названия категории (а может и еще что-то дополнительно ?? ).
Реализация:
В файле import.php находим функцию function wc1c_replace_term($is_full, $guid, $parent_guid, $name, $taxonomy, $order, $use_guid_as_slug = false)
в этой функции необходимо закомментировать 2 строчки в условии “if (empty($is_added)) {”
Было:
if (empty($is_added)) {
if (trim($name) != $term->name) $name = wc1c_unique_term_name($name, $taxonomy, $parent);
$parent = $parent_guid ? wc1c_term_id_by_meta('wc1c_guid', "$taxonomy::$parent_guid") : null;
$args = array(
'name' => $name,
'parent' => $parent,
);
$result = wp_update_term($term_id, $taxonomy, $args);
wc1c_check_wp_error($result);
}
Стало:
if (empty($is_added)) {
if (trim($name) != $term->name) $name = wc1c_unique_term_name($name, $taxonomy, $parent);
$parent = $parent_guid ? wc1c_term_id_by_meta('wc1c_guid', "$taxonomy::$parent_guid") : null;
$args = array(
'name' => $name,
'parent' => $parent,
);
//$result = wp_update_term($term_id, $taxonomy, $args);
//wc1c_check_wp_error($result);
}
Вариант 2.
Плюсы: работает обновление категорий для синхронизации
Минусы: появляется “дыра” в движке вордпресса и после обновления необходимо заново воспроизводить данные манипуляции.
Реализация: в файле wp_includes/taxonomy.php необходимо закомментировать все строчки “$args = sanitize_term($args, $taxonomy, ‘db’);” – для версии 4.5.х их 2шт.