1
我很新的編碼Wordpress插件/小部件(這是我第一次!)。我已經構建了一個非常基本的Wordpress插件,它由2個文本輸入和一個選擇字段組成。文本輸入工作正常,但是當我點擊「保存」按鈕時,選擇框看起來並沒有保存。WordPress的自定義小工具選擇選項不保存
這裏是我的插件代碼:
<?php
/* Plugin Name: Sidebar Box
Plugin URI: http://www.website.com
Description: Displays contact box in sidebar
Version: 1.0
Author: JM
Author URI: N/A
*/
// use widgets_init action hook to execute custom function
add_action('widgets_init', 'jm_box_widget');
//register our widget
function jm_box_widget() {
register_widget('jm_box_widget_my_info');
}
//boj_widget_my_info class
class jm_box_widget_my_info extends WP_Widget {
//process the new widget
function jm_box_widget_my_info() {
$widget_ops = array(
'classname' => 'jm_box_widget_class',
'description' => 'Sidebar Box Widget.'
);
$this->WP_Widget('jm_box_widget_my_info', 'Box Widget', $widget_ops);
}
//build the widget settings form
function form($instance) {
$defaults = array('title' => 'Box Page Widget', 'description' => '', 'boxtype' => '');
$instance = wp_parse_args((array) $instance, $defaults);
$title = $instance['title'];
$description = $instance['description'];
$boxtype = $instance['boxtype'];
?>
<p>Title: <input class="widefat" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" /></p>
<p>Description: <textarea class="widefat" name="<?php echo $this->get_field_name('description'); ?>"/><?php echo esc_attr($description); ?></textarea></p>
<p>Sex:
<select id="<?php echo $this->get_field_id('boxtype'); ?>" name="<?php echo $this->get_field_name('boxtype'); ?>" class="widefat" style="width:100%;">
<option <?php if ('box1' == $instance['format']) echo 'selected="selected"'; ?> value="box1">box1</option>
<option <?php if ('box2' == $instance['format']) echo 'selected="selected"'; ?> value="box2">box2</option>
</select>
</p>
<?php
}
//save the widget settings
function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
$instance['description'] = strip_tags($new_instance['description']);
$instance['boxtype'] = ($new_instance['boxtype']);
return $instance;
}
//display the widget
function widget($args, $instance) {
extract($args);
echo $before_widget;
$title = apply_filters('widget_title', $instance['title']);
$description = empty($instance['description']) ? ' ' : $instance['description'];
$boxtype = empty($instance['boxtype']) ? ' ' : $instance['boxtype'];
echo '<div class="sidebar-box" id="' . $boxtype . '" onmouseover="this.style.cursor=\'pointer\'" onmouseup="window.location=\'' . $boxtype . '\'">
<h3>' . $title . '</h3>
<p>' . $description . '</p>
</div>';
echo $after_widget;
}
}
>
我不能爲我鍛鍊的生活爲什麼它不節能。
任何幫助將不勝感激。
感謝,
詹姆斯