выпадающий список функций meta_box_cb создает еще один термин при сохранении после записи

#wordpress #callback #taxonomy #taxonomy-terms

#wordpress #обратный вызов #таксономия #таксономия-термины

Вопрос:

У меня есть обратный вызов ‘cities_meta_box’, который является выпадающим списком.

 public function cities_meta_box($post, $box)
{
    $defaults = array('taxonomy' => 'category');

    if (!isset($box['args']) || !is_array($box['args'])):
        $args = array();
    else:
        $args = $box['args'];
    endif;

    extract(wp_parse_args($args, $defaults), EXTR_SKIP);
    $tax = get_taxonomy($taxonomy);
    echo '<div id="taxonomy-'.$taxonomy.'" class="acf-taxonomy-field categorydiv">';

    $name = ($taxonomy == 'category') ? 'post_category' : 'tax_input[' . $taxonomy . ']';
    echo "<input type='hidden' name='{$name}[]' value='0' />";
    $term_obj = wp_get_object_terms($post->ID, $taxonomy);
    echo '<ul id="'.$taxonomy.'checklist" data-wp-lists="list:'.$taxonomy.'"
    class="categorychecklist form-no-clear"></ul>';
    // var_dump($term_obj);

    wp_dropdown_categories(array(
        'taxonomy' => $taxonomy,
        'hide_empty' => 0,
        'name' => "{$name}[]",
        'selected' => $term_obj[0]->slug,
        'orderby' => 'name',
        'hierarchical' => 0,
        'show_option_none' => 'amp;mdash;'
    ));

    echo '</div>';
}
  

Что происходит, так это то, что каждый раз, когда я сохраняю запись, создается новый термин, названный в качестве идентификатора выбранного термина. Примеры скриншотов:

Название термина ‘Скопье’ с идентификатором 20

Когда я сохраняю запись, создается новый термин name после идентификатора последнего:

обратите внимание, что имя равно 20, что является идентификатором термина таксономии ‘Скопье’