Контроль вибору дати забезпечує чудовий інтерфейс для вибору конкретної дати та часу та виведення його у формат, що ви обрали.
Контроль вибору дати використовує бібліотеку Flatpickr, щоб запропонувати надійний інтерфейс для вибору дати. Починаючи з Esl 1.9.8, додано властивість options
, яка дозволяє додаткову настройку.
Властивості:
Властивість: options (починаючи з 1.9.8)
- Тип: масив (асоціативний)
- Опис: Дозволяє налаштувати вибір дати, передаючи асоціативний масив параметрів, визначених у бібліотеці Flatpickr.
- Значення за замовчуванням:
- enableTime: За замовчуванням
true
, якщо не встановлено явно через передану властивість. - altInput: За замовчуванням
true
, якщо не вказано інакше через передану властивість.
- enableTime: За замовчуванням
Приклад використання:
$this->controls['date'] = ['tab' => 'content','label' => esc_html__('Дата', 'esl'),'type' => 'datepicker','options' => ['enableTime' => true, // Дозволяє вибір часу.'time_24hr' => true, // Відображає вибір часу в 24-годинному форматі.'noCalendar' => true // Приховує вибір календаря для дня.]];
У цьому прикладі масив options
налаштований так, щоб створити вибір часу, який працює в 24-годинному форматі без відображення календаря для вибору дня. Опцію enableTime
встановлено в true, щоб забезпечити можливість вибору часу, time_24hr
активовано для 24-годинного формату часу, а noCalendar
встановлено в true, щоб сховати компонент календаря. Налаштуйте масив options
за потреби, щоб налаштувати вибір дати відповідно до різних вимог.
Для повного списку параметрів, що підлягають налаштуванню, доступних у Flatpickr, будь ласка, зверніться до документації параметрів Flatpickr.
Властивість: enableTime
- Тип: булевий
- Опис: Визначає, чи дозволено вибір часу. Перекривається, якщо будь-які налаштування передані в властивості
options
. - За замовчуванням: true
Властивість: altInput
- Тип: булевий
- Опис: Дозволяє альтернативний, більш зручний стиль введення. Перекривається, якщо будь-які налаштування передані в властивості
options
. - За замовчуванням: true
Приклад: Елемент зворотного відліку
// Приклад: Елемент зворотного відлікуclass Prefix_Element_Countdown extends EslElement {public $category = 'general';public $name = 'countdown';public $icon = 'ti-timer';public $scripts = ['eslCountdown'];public function get_label() {return esc_html__( 'Зворотний відлік', 'esl' );}public function set_controls() {$this->controls['date'] = ['tab' => 'content','label' => esc_html__( 'Дата', 'esl' ),'type' => 'datepicker','options' => ['enableTime' => true, 'altInput' => true],'default' => '2019-01-01 12:00',];$this->controls['format'] = ['tab' => 'content','label' => esc_html__( 'Формат', 'esl' ),'type' => 'text','default' => '%D дні %H години %M хвилини %S секунди.','description' => sprintf('%s <a target="_blank" href="http://hilios.github.io/jQuery.countdown/documentation.html#directives">%s</a>.',esc_html__( 'Для форматування дивіться', 'esl' ),esc_html__( 'директиви', 'esl' )),];}public function render() {$this->set_attribute( 'wrapper', 'class', 'countdown-wrapper' );$countdown_options = ['date' => isset( $this->settings['date'] ) ? $this->settings['date'] : '','format' => isset( $this->settings['format'] ) ? $this->settings['format'] : '',];$this->set_attribute( 'wrapper', 'data-esl-countdown-options', wp_json_encode( $countdown_options ) );// Рендерингif ( ! isset( $this->settings['date'] ) || ! isset( $this->settings['format'] ) ) {return $this->render_element_placeholder( ['icon-class' => 'ti-timer','text' => esc_html__( 'Дата/формат не встановлено.', 'esl' ),] );} else {echo '<div ' . $this->render_attributes( 'wrapper' ) . '></div>';}}}