好的,我正在开发我自己的小部件,我有一个很大的问题。
我不知道如何获取并最终保存html选择值。
简单示例:
/* initialize TITLE */
function widget( $args, $instance ) {
extract( $args );
$title = apply_filters(\'widget_title\', $instance[\'title\'] );
(...)
/* update code for TITLE */
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance[\'title\'] = strip_tags( $new_instance[\'title\'] );
(...)
/* creating TITLE field in widgets admin area */
<p>
<label for="<?php echo $this->get_field_id( \'title\' ); ?>"><?php _e(\'Title:\', \'hybrid\'); ?></label>
<input id="<?php echo $this->get_field_id( \'title\' ); ?>" name="<?php echo $this->get_field_name( \'title\' ); ?>" value="<?php echo $instance[\'title\']; ?>" type="text" style="width:100%;" />
</p>
(...)
好的。现在当我键入
<?php echo $instance[\'title\'] ?>
它将显示我的标题!
但我有以下清单:
<label for="<?php echo $this->get_field_id( \'example\' ); ?> "><?php _e(\'Map type:\', \'example\'); ?></label>
<select id="<?php echo $this->get_field_id( \'example\' ); ?>" name="<?php echo $this->get_field_id( \'example\' ); ?>">
<option value="supervalue" selected="selected">Super Value</option>
</select>
以及
<?php echo $instance[\'example\'] ?>
什么都不给。我到处都在找,包括默认的小部件。php,但我一个字都不懂,因为所有默认插件都使用动态生成的选项列表。
我只使用了一个项目列表,但实际上它很长,我不知道如何保存所选元素,因为我不知道如何访问该元素的值。
有什么想法吗?我花了一整天的时间在这件事上,慢慢地完全发疯了。
[已编辑]
我没有向您展示更新函数,因为如上所述,我对每个函数使用相同的更新代码。
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance[\'example\'] = strip_tags( $new_instance[\'example\'] );
return $instance;
}