Выпадающее меню виджета всегда отображает первый вариант

У меня есть собственный виджет, который я сделал, но всякий раз, когда я изменяю значение раскрывающегося списка, он всегда возвращается к первому варианту, когда я сохраняю виджет. Как я могу отображать любую опцию, которую пользователь выбирает?

// update widget function update($new_instance, $old_instance) { $instance = $old_instance; // Fields $instance['category'] = strip_tags($new_instance['category']); return $instance; } // widget form creation function form($instance) { // Check values if( $instance) { $category = esc_attr($instance['app_category']); $instance['category'] = strip_tags( $new_instance['category'] ); } else { $category = ''; } //Set up some default widget settings. $defaults = array( 'category' => ''); $instance = wp_parse_args( (array) $instance, $defaults ); ?> <!-- Category Select Menu --> <p> <label for="<?php echo $this->get_field_id('category'); ?>"><?php _e('App Category: ', 'AppManager_plugin'); ?></label> <h1><?php echo $category ?></h1> <h1><?php echo $instance['category'] ?></h1> <select id="<?php echo $this->get_field_id('category'); ?>" name="<?php echo $this->get_field_name('Category'); ?>" > <?php foreach(get_terms('app_category','parent=0&hide_empty=0') as $term) { ?> <option <?php selected( $instance['category'], $term->term_id ); ?> value="<?php echo $term->term_id; ?>"><?php echo $term->name; ?></option> <?php } ?> </select> </p> 

Solutions Collecting From Web of "Выпадающее меню виджета всегда отображает первый вариант"

Я получил ответ на формы поддержки WordPress, http://wordpress.org/support/topic/widget-dropdown-always-displays-first-option?replies=6

Замененная форма функции с,

 function form( $instance ) { // Check values $category = isset( $instance['category'] ) ? (int) $instance['category'] : ''; $terms = get_terms( 'app_category', 'parent=0&hide_empty=0' ); if ( !empty( $terms ) && !is_wp_error( $terms ) ) { ?> 

И изменилось,

 name="<?php echo $this->get_field_name( 'Category' ); ?>" 

в

 name="<?php echo $this->get_field_name( 'category' ); ?>"