Das benutzerdefinierte Wordpress-Widget speichert mehrere Auswahloptionen

Ich schreibe ein benutzerdefiniertes Widget für unsere Website, um einige ausgewählte Beiträge anzuzeigen. Im Administratorteil habe ich ein Mehrfachauswahlfeld, in dem der Administrator mehrere Posts nach ihrem Namen auswählen kann. Das funktioniert gut, aber wenn ich ein paar verschiedene Beiträge auswähle und speichere, wird nichts gespeichert.

Kann jemand Licht ins Dunkel bringen?

Hier ist mein Code ...

<?php
/* 
Plugin Name: Hot Topics
Plugin URI: http://www.weddingideasmag.com
Description: Use this widget to choose an array of posts snippets to show
Version: 1.0)
Author: James Payne
Author URI: http://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");'));

?>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage