問題描述

所以,我成功地設法新增一個下拉選項,問題是當我點選儲存所有的選項被刪除,但所選擇的選項被成功實現。

以下是相關程式碼:

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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。