Custom widget remember multiple select options
-
I’m writing a custom widget for our site to display some chosen posts. In the admin part, I’ve got a multiple select box to let the admin choose multiple posts by their name. This is working fine, but when I select a few different posts and save, nothing is getting saved.
Can anyone shed any light on this?
Here is my code…
<?php /* Plugin Name: Hot Topics Plugin URI: https://www.weddingideasmag.com Description: Use this widget to choose an array of posts snippets to show Version: 1.0) Author: James Payne Author URI: https://www.bluntcreative.co.uk License: GPL2 */ class HotTopics extends WP_Widget { // constructor function HotTopics() { $widget_ops = array( 'name' => 'Hot Topics','classname' => 'widget-hot-topics', 'description' => __( "Use this widget to choose an array of posts snippets to show in the sidebar." ) ); $this->WP_Widget( 'hottopics', __('Hot Topics'), $widget_ops); } // widget form creation function form($instance) { // Check values if( $instance) { $select = esc_attr($instance['select']); // Added } else { $select =''; } ?> <select multiple="multiple" name="<?php echo $this->get_field_name('select'); ?>[]" id="<?php echo $this->get_field_id('select'); ?>" class="widefat" size="15" style="margin-bottom:15px;"> <?php $args = array( 'offset'=> 1, 'orderby' => 'date', 'order' => 'DESC', 'posts_per_page' => 200, 'post_status' => 'publish' ); // The Query query_posts( $args ); // The Loop while ( have_posts() ) : the_post(); $title = get_the_title(); ?> <option value="<?php echo get_the_ID();?>" class="hot-topic" <?php $select == $title ? ' selected="selected"' : '';?> style="margin-bottom:3px;"> <?php echo $title;?> </option> <?php endwhile; // Reset Query wp_reset_query(); ?> </select> <?php } // update widget function update($new_instance, $old_instance) { $instance = $old_instance; // Fields $instance['select'] = strip_tags($new_instance['select']); return $instance; } // widget display function widget($args, $instance) { /* ... */ echo 'tetst'; } } // register widget add_action('widgets_init', create_function('', 'return register_widget("HotTopics");')); ?>
Viewing 2 replies - 1 through 2 (of 2 total)
Viewing 2 replies - 1 through 2 (of 2 total)
- The topic ‘Custom widget remember multiple select options’ is closed to new replies.