22 lines
1.4 KiB
PHP
22 lines
1.4 KiB
PHP
<?php
|
|
if (!defined('ABSPATH')) exit;
|
|
class WMF_Field_Radio extends WMF_Field_Base {
|
|
public $type='radio'; public $label='Radio-Buttons'; public $icon='dashicons-marker'; public $category='auswahl';
|
|
public function defaults() { return array_merge(parent::defaults(),array('options'=>array(array('label'=>'Option 1','value'=>'option_1')),'layout'=>'vertical')); }
|
|
public function render($field,$value='') { ?>
|
|
<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); ?>
|
|
<div class="wmf-radio-group wmf-layout-<?php echo esc_attr($field['layout']??'vertical'); ?>">
|
|
<?php foreach($field['options']??array() as $opt): ?>
|
|
<label class="wmf-radio-label">
|
|
<input type="radio" name="wmf_fields[<?php echo esc_attr($field['id']); ?>]" value="<?php echo esc_attr($opt['value']); ?>" <?php checked($value,$opt['value']); ?> <?php echo(!empty($field['required'])&&$field['required']==='1')?'required':''; ?>>
|
|
<span><?php echo esc_html($opt['label']); ?></span>
|
|
</label>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
<?php $this->render_description($field); ?>
|
|
<span class="wmf-field-error-msg"></span>
|
|
</div><?php
|
|
}
|
|
}
|