Salvar o valor da lista de seleção (taxonomia) em wp: wp_set_object_terms

Na minha administração para parte, eu tenho campos adicionais (como preço ou marca – que é taxonomia). Quando eu editar ou criar uma nova parte, configure dados adicionais.

e a economia de preços é sem qualquer problema, mas salvar o valor da lista de seleção é algo estranho – não salvou:

wp_set_object_terms($post_id, $_POST['part_brand'], 'brands', true); 

de acordo com wp doc: este valor de atualização de function da seleção de taxonomia. Mas para mim isso não funcionou.

Todo o código que você pode ver aqui:

http://pastebin.com/N4gZL3uN

como salvar o valor da lista de seleção (taxonomia) no wp?

código inteiro:

  __('Parts') , 'labels' => array( 'edit_item' => __('Edit Part') , 'add_new_item' => __('Add New Part') , 'view_item' => __('View Part') , ) , 'singular_label' => __('Part') , 'public' => true, 'show_ui' => true, '_builtin' => false, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => array( "slug" => "parts" ) , // формат ссылок 'supports' => array( 'title', 'editor', 'thumbnail' ) ); register_post_type('part', $args); $labels_gr = array( 'name' => 'Группы', 'singular_name' => 'Группы', 'search_items' => 'Поиск групп', 'all_items' => 'Все группы', 'parent_item' => 'Родительская группа', 'parent_item_colon' => 'Родительская группа:', 'edit_item' => 'Редактирование группы', 'update_item' => 'Обновить группу', 'add_new_item' => 'Добавить новую группу', 'new_item_name' => 'Имя новой группы', 'menu_name' => 'Группы', ); $labels_brands = array( 'name' => 'Бренды', 'singular_name' => 'Бренд', 'search_items' => 'Поиск брендов', 'popular_items' => 'Популярные бренды', 'all_items' => 'Все бренды', 'edit_item' => 'Редактировать бренд', 'update_item' => 'Обновить бренд', 'add_new_item' => 'Добавить новый бренд', 'new_item_name' => 'Имя нового бренда', 'menu_name' => 'Бренды', 'separate_items_with_commas' => 'Разделять бренды запятыми', 'add_or_remove_items' => 'Добавить или удалить бренд', 'choose_from_most_used' => 'Выберите бренд из наиболее используемых', 'menu_name' => 'Бренды', ); register_taxonomy('groups', 'post', array( 'hierarchical' => true, 'labels' => $labels_gr, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'group' ) , )); register_taxonomy('brands', 'post', array( 'hierarchical' => false, 'labels' => $labels_brands, 'show_ui' => true, 'show_admin_column' => true, 'update_count_callback' => '_update_post_term_count', 'query_var' => true, 'rewrite' => array( 'slug' => 'brands' ) , )); } function part_add_meta_box() { add_meta_box('part_additional_fields', __('Дополнительные поля', 'part_textdomain') , 'part_meta_box_callback', 'part'); } add_action('add_meta_boxes', 'part_add_meta_box'); function part_meta_box_callback($post) { wp_nonce_field('part_meta_box', 'part_meta_box_nonce'); $part_weight = get_post_meta($post->ID, 'part_weight', true); // $part_brand = get_post_meta( $post->ID, 'part_brand', true ); $part_brand = get_terms('brands', 'hide_empty=0'); $part_price = get_post_meta($post->ID, 'part_price', true); $part_group = get_terms('groups', 'hide_empty=0'); echo ' '; echo ''; echo "
"; ?> <option value='' >None slug, $part_brand[0]->slug)) echo "slug . "' selected>" . $brand->name . "\n"; else echo "slug . "'>" . $brand->name . "\n"; } ?> <?php echo "
"; echo ' '; echo ''; echo "
"; ?> <option value='' >None slug, $part_group[0]->slug)) echo "slug . "' selected>" . $brand->name . "\n"; else echo "slug . "'>" . $brand->name . "\n"; } ?>

Solutions Collecting From Web of "Salvar o valor da lista de seleção (taxonomia) em wp: wp_set_object_terms"

resolveu assim:

 $part_brand = get_terms('brands', 'hide_empty=0');