Wordpress 我的自定义文本小部件未在字段中保存值

Wordpress 我的自定义文本小部件未在字段中保存值,wordpress,Wordpress,我创建了一个自定义小部件,但如果单击“保存”,它不会保存 class Whistle_Text_Widget extends WP_Widget{ public function __construct(){ $widget_options = array( 'classname' => 'test_widget', 'description' => 'This is a simple text widg

我创建了一个自定义小部件,但如果单击“保存”,它不会保存

class Whistle_Text_Widget extends WP_Widget{
    public function __construct(){
        $widget_options = array(
            'classname' =>  'test_widget',
            'description'   =>  'This is a simple text widget'
        );
        parent::__construct('text_widget', 'Whistle Text Widget', $widget_options);
    } 

    public function form($instance){
        if(!empty($instance)){
            $title = $instance['title'];
            $description = $instance['description'];
        }
        else{
            $title = '';
            $description = '';
        }
    ?>
        <p>
            <label for="<?php $this->get_field_id('title');  ?>"><?php _e('Title:'); ?></label><br />
            <input type="text" id="<?php $this->get_field_id('title'); ?>" name="<?php $this->get_field_name('title'); ?>" class="text-input" value="<?php echo $title; ?>">
        </p>
        <p>
            <label for="<?php $this->get_field_id('description'); ?>"><?php _e('Description:'); ?></label><br />
            <input type="text" id="<?php $this->get_field_id('description'); ?>" name="<?php $this->get_field_name('description'); ?>" class="text-input" value="<?php echo $description; ?>">
        </p>
    <?php
    } 

    public function widget($args, $instance){
        echo $instance['title'];
        echo $instance['description'];
    }

    public function update($new_instance, $old_instance){
        $instance = $old_instance;
        $instance['title'] = $new_instance['title'];
        $instance['description'] = $new_instance['description'];
        return $instance;
    }
}

function whistle_text_widget(){
    register_widget('Whistle_Text_Widget');
}

add_action('widgets_init', 'whistle_text_widget');
class-whist\u-Text\u小部件扩展了WP\u小部件{
公共函数构造(){
$widget\u options=数组(
'classname'=>'test_widget',
'description'=>'这是一个简单的文本小部件'
);
父项::_构造('text_小部件','Whistle text小部件',$widget_选项);
} 
公共函数表($instance){
如果(!empty($instance)){
$title=$instance['title'];
$description=$instance['description'];
}
否则{
$title='';
$description='';
}
?>


请尝试此代码。您忘记回显
id
输入字段名

    class Whistle_Text_Widget extends WP_Widget{
        public function __construct(){
            $widget_options = array(
                'classname' =>  'test_widget',
                'description'   =>  'This is a simple text widget'
            );
            parent::__construct('text_widget', 'Whistle Text Widget', $widget_options);
        } 

        public function widget($args, $instance){
            echo $instance['title'];
            echo $instance['description'];
        }

        public function form($instance){        
            if(!empty($instance)){
                $title = $instance['title'];
                $description = $instance['description'];
            }
            else{
                $title = '';
                $description = '';
            }
        ?>
            <p>
                <label for="<?php echo $this->get_field_id('title');  ?>"><?php _e('Title:'); ?></label><br />
                <input type="text" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo  $this->get_field_name('title'); ?>" class="text-input" value="<?php echo $title; ?>">
            </p>
            <p>
                <label for="<?php echo $this->get_field_id('description'); ?>"><?php _e('Description:'); ?></label><br />
                <input type="text" id="<?php echo $this->get_field_id('description'); ?>" name="<?php echo $this->get_field_name('description'); ?>" class="text-input" value="<?php echo $description; ?>">
            </p>
        <?php
        } 


        public function update($new_instance, $old_instance){
            $instance = $old_instance;
            $instance['title'] = $new_instance['title'];
            $instance['description'] = $new_instance['description'];
            return $instance;
        }
    }

    function whistle_text_widget(){
        register_widget('Whistle_Text_Widget');
    }

    add_action('widgets_init', 'whistle_text_widget');
class-whist\u-Text\u小部件扩展了WP\u小部件{
公共函数构造(){
$widget\u options=数组(
'classname'=>'test_widget',
'description'=>'这是一个简单的文本小部件'
);
父项::_构造('text_小部件','Whistle text小部件',$widget_选项);
} 
公共函数小部件($args,$instance){
echo$instance['title'];
echo$instance['description'];
}
公共函数表($instance){
如果(!empty($instance)){
$title=$instance['title'];
$description=$instance['description'];
}
否则{
$title='';
$description='';
}
?>


更新函数似乎有问题。请尝试使用此
$instance=array();$instance['title']=(!empty($new_instance['title'])?清理文本字段($new_instance['title']):“”;