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']):“”;