Подборщик времени (Time Picker)

Обзор

Поле «время» позволяет выбрать время с помощью всплывающего окна на jquery. Это поле может использоваться для указания времени в вашей теме. Например, можно указать магазин открыт или закрыт.

Значение может быть возвращено и отображено в разных форматах, но всегда будет сохранено в БД как «H: i: s».

История изменений

  • Добавлено в 5.3.9

Настройки

ИмяОписание
Отображаемый форматФормат во время редактирования поля в админке. Посмотрите полный список форматов дат для PHP.
Возвращаемый форматФормат возвращаемого значения на бэкенде.  Посмотрите полный список форматов дат для PHP.

Использование в шаблоне

Поле «время» вернет строку, содержащую значение времени в формате, указанном в настройках поля.

Базовый

В примере показано как вывести поле «время».

<p>Понедельник: <?php the_field('monday_open_time'); ?> - <?php the_field('monday_close_time'); ?></p>

Продвинутый

В примере показано, как получить посты для всех открытых магазинов. Предполагается, что тип записи с именем «store» (магазин) существует. И также заданы поля для времени открытия и закрытия каждого дня: «monday_open_time», «monday_close_time», «tuesday_open_time» и т. д.

<?php

// сегодняшний день
$today = date('l');
$today = strtolower($today);


// текущее время
$time = date('H:i:s'); 


// query запрос
$posts = get_posts(array(
	'posts_per_page'	=> -1,
	'post_type'			=> 'store',
	'meta_query' 		=> array(
		'relation' 			=> 'AND',
		array(
	        'key'			=> $today.'_open_time',
	        'compare'		=> '<=',
	        'value'			=> $time,
	        'type'			=> 'TIME'
	    ),
	    array(
	        'key'			=> $today.'_close_time',
	        'compare'		=> '>=',
	        'value'			=> $time,
	        'type'			=> 'TIME'
	    )
    )
));

if( $posts ): ?>

	<h2>Магазины открытые сейчас</h2>
	<ul id="events">
		<?php foreach( $posts as $p ): ?>
			<li>
				<strong><?php echo $p->post_title; ?></strong>: 
				<?php echo $today; ?> <?php the_field($today.'_open_time', $p->ID); ?> -  <?php the_field($today.'_close_time', $p->ID); ?>
			</li>	
		<?php endforeach; ?>
	</ul>

<?php endif; ?>

Результат работы кода выше

<h2>Магазины открытые сейчас</h2> <ul id="events"> <li> <strong>Магазин 1</strong>: понедельник 9:00 - 17:30 </li> <li> <strong>Магазин 2</strong>: понедельник 10:00 - 18:00 </li> </ul>