You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.3 KiB
50 lines
1.3 KiB
<?php if ( ! defined( 'ABSPATH' ) ) {
|
|
die;
|
|
} // Cannot access pages directly.
|
|
/**
|
|
*
|
|
* Field: Number
|
|
*
|
|
*/
|
|
if ( ! class_exists( 'Exopite_Simple_Options_Framework_Field_number' ) ) {
|
|
|
|
class Exopite_Simple_Options_Framework_Field_number extends Exopite_Simple_Options_Framework_Fields {
|
|
|
|
public function __construct( $field, $value = '', $unique = '', $config = array() ) {
|
|
parent::__construct( $field, $value, $unique, $config );
|
|
}
|
|
|
|
public function output() {
|
|
|
|
echo $this->element_before();
|
|
|
|
$unit = ( isset( $this->field['unit'] ) ) ? '<em>' . $this->field['unit'] . '</em>' : '';
|
|
|
|
$attr = array();
|
|
if ( isset( $this->field['min'] ) ) {
|
|
$attr[] = 'min="' . $this->field['min'] . '"';
|
|
}
|
|
if ( isset( $this->field['max'] ) ) {
|
|
$attr[] = 'max="' . $this->field['max'] . '"';
|
|
}
|
|
if ( isset( $this->field['step'] ) ) {
|
|
$attr[] = 'step="' . $this->field['step'] . '"';
|
|
}
|
|
$attrs = ( ! empty( $attr ) ) ? ' ' . trim( implode( ' ', $attr ) ) : '';
|
|
|
|
echo $this->element_prepend();
|
|
|
|
echo '<input type="number" name="' . $this->element_name() . '" value="' . $this->element_value() . '"' . $this->element_class() . $this->element_attributes() . $attrs . '/>';
|
|
|
|
echo $this->element_append();
|
|
|
|
echo $unit;
|
|
|
|
echo $this->element_after();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|