selected = "selected"
保存または更新時に属性を表示するための複数選択を取得できないようです。
すべてが機能します(db挿入はOK、結果はOK)が、更新後に表示する選択した値を取得できません。
wpコアからselected()関数を使用しようとしています。
コード(ウィジェットクラス内にあり、かなり単純なウィジェットとして機能します):
<!-- List Custom Fields Hide Underscore (hide=no) -->
<p>
<?php $keys_no = $this->k99_cfsw_get_all_cf_array('no');?>
<?php if ( $keys_no ) { ?>
<label for="<?php echo $this->get_field_id('cfl2'); ?>"><?php _e('Select your custom field','k99_gelosa_domain'); ?></label>
<select multiple="multiple" class="chzn-select" style="width:150px;height:29px;" size="5" id="<?php echo $this->get_field_id('cfl2'); ?>" name="<?php echo $this->get_field_name('cfl2'); ?>[]" value="<?php $instance['cfl2'] ?>">
<option value="<?php isset($instance['cfl2']) ? _e($instance['cfl2']) : _e('#NONE#'); ?>"><?php isset($instance['cfl2']) ? _e('multiple') /*_e($instance['cfl2'])*/ : _e('#NONE#'); ?></option>
<!--<option value="#NONE#"><?php //echo $cfl; ?></option>-->
<!--<option value="------">-------</option>-->
<?php
foreach ( $keys_no as $key ) {
echo "\n<option value='" .esc_attr($key) . "'". selected( $instance['cfl2'],esc_attr($key) ,FALSE).">". esc_html($key) . "</option>";
}
?>
</select>
<?php
} ?>
</p>
補足とボーナスの質問として-、私は選択されたJSも使用しています-それはまた正常に動作しています(選択されたアイテムが表示されないことを除いて..)が、ウィジェットは閉じています-開いた状態で保存した後のみ..。