Upload folder via GUI - inc
This commit is contained in:
23
inc/fields/class-field-select.php
Normal file
23
inc/fields/class-field-select.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
if (!defined('ABSPATH')) exit;
|
||||
class WMF_Field_Select extends WMF_Field_Base {
|
||||
public $type='select'; public $label='Auswahlliste'; public $icon='dashicons-list-view'; public $category='auswahl';
|
||||
public function defaults() { return array_merge(parent::defaults(),array('options'=>array(array('label'=>'Option 1','value'=>'option_1')),'multiple'=>'0')); }
|
||||
public function render($field,$value='') {
|
||||
$multi=!empty($field['multiple'])&&$field['multiple']==='1';
|
||||
$name='wmf_fields['.esc_attr($field['id']).']'.($multi?'[]':''); ?>
|
||||
<div class="<?php echo esc_attr($this->wrapper_classes($field)); ?>"<?php echo $this->conditional_attrs($field); ?> data-field-id="<?php echo esc_attr($field['id']); ?>">
|
||||
<?php $this->render_label($field); ?>
|
||||
<select id="<?php echo esc_attr($field['id']); ?>" name="<?php echo $name; ?>" class="wmf-input wmf-select" <?php echo $multi?'multiple':''; ?> <?php echo(!empty($field['required'])&&$field['required']==='1')?'required':''; ?>>
|
||||
<?php if(!$multi): ?><option value=""><?php echo esc_html($field['placeholder']?:'— Bitte wählen —'); ?></option><?php endif; ?>
|
||||
<?php foreach($field['options']??array() as $opt):
|
||||
$sel=is_array($value)?in_array($opt['value'],$value):$value===$opt['value']; ?>
|
||||
<option value="<?php echo esc_attr($opt['value']); ?>" <?php echo $sel?'selected':''; ?>><?php echo esc_html($opt['label']); ?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<?php $this->render_description($field); ?>
|
||||
<span class="wmf-field-error-msg"></span>
|
||||
</div><?php
|
||||
}
|
||||
public function sanitize($v,$f) { return is_array($v)?array_map('sanitize_text_field',$v):sanitize_text_field($v); }
|
||||
}
|
||||
Reference in New Issue
Block a user