Выпадающий список функций meta_box_cb создает еще один термин при сохранении записи - PullRequest
1 голос
/ 09 марта 2019

У меня есть обратный вызов 'towns_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' => '&mdash;'
    ));

    echo '</div>';
}

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...