问题描述

所以,我成功地设法添加一个下拉选项,问题是当我点击保存所有的选项被删除,但所选择的选项被成功实现。

以下是相关代码:

function widget($args, $instance) {
        extract( $args );

        $pfxattribution = $instance['pfx-attribution'];
}

<p>
            <label for="<?php echo $this->get_field_id('pfx-attribution'); ?>"><?php _e('Choose attribution:'); ?></label>
            <select id="<?php echo $this->get_field_id('pfx-attribution'); ?>" name="<?php echo $this->get_field_name('pfx-attribution'); ?>" class="widefat" />
            <option>Purefx</option>
            <option>Foreign Exchange</option>
            <option>Currency Exchange</option>
            </select>
            </p>

function update($new_instance, $old_instance) {
        // Get the old values
        $instance = $old_instance;

        // Update with any new values (and sanitise input)
        $instance['pfx-attribution'] = strip_tags( $new_instance['pfx-attribution'] );

       return $instance;
}

任何帮助是极大的赞赏

最佳解决方案

丹尼,我已经从一个 plug-in 直接提升了:

 <?php function form($instance){
    $instance = wp_parse_args( (array) $instance, $this->w_arg );
  ?>
  <p>
    <select id="<?php echo $this->get_field_id('order'); ?>" name="<?php echo $this->get_field_name('order'); ?>" type="text">
        <option value="asc" <?php selected($instance['order'], 'asc'); ?>>ASC </option>
        <option value="desc" <?php selected($instance['order'], 'desc');?>>DESC </option>
    </select>
</p>

<?php
  }
?>

没有看到你的代码的其余部分,我无法确定问题的根源,但它可能是形式不包含在表单函数内。如果上述似乎不适合你,也许粘贴你的小工具类?

我应该补充一下,我的小工具类有一个变量 w_arg,一个默认数组!例如。

var $w_arg = array(
        'order'=> 'ASC'
        );

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。