Intereting Posts
redirect index.html внутренняя папка на страницу WordPress с тем же именем Почему темы WordPress по умолчанию задают шрифты во многих местах? Рейтинг WordPress по просмотрам Могу ли я установить Google Analytics, прежде чем принимать решение по теме? Получать сообщение по ID Как легко переадресовать между разными архивами и уникальными слизнями? Как включить javascripts плагина (MailPoet), используя функции child.fp Загрузка шаблона пользовательской страницы на веб-сайте одной страницы Разные названия, ключевые слова и описание Кнопка «Просмотр изменений» не отображает изменения для ранее опубликованных сообщений / страниц Запрос MySql очень медленный Пользовательские изображения заголовков не будут отображаться при выборе случайных Установка базы по умолчанию для активации темы Проверьте правильность имени пользователя в пользовательской форме входа Показать все сообщения из выбранного архивного месяца

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

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

// 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> 

Я получил ответ на формы поддержки 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' ); ?>"