@fenya-fl

Как среди постов найти минимальную дату, которая создается через дополнительное поле ACF?

У меня в постах есть доп поле Date Time Picker (от ACF) – event_date_new. Нужно среди этих постов найти самую минимальную дату.
По логике я прохожусь по всем постам и сравниваю даты и записываю их в переменную. Но что-то тут неправильно...
Думаю присваивание неправильное. Не знаю

<?php 
$posts_filter = get_posts(array(
	'posts_per_page'	=> -1,
	'post_type'			=> 'tc_events'
));

$date_null;
	foreach( $posts_filter as $post ):  
			$date_start = get_field('event_date_new', false, false);
			$date_start = new DateTime($date_start);
			$date_start = $date_start->format('d M Y');

		 if($date_null < $date_start) {
		 		$date_null = $date_start;
		 }
		 $result = $date_null;
	?>
<?php endforeach; ?>

<label><input type='text' name="date_start" value="<?php echo $result; ?>"/></label>
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
@Flying
Это описано в официальной документации ACF, вам просто нужно написать правильно запрос:
$posts = get_posts([
  'post_type'  => 'tc_events',
  'numposts'   => 1,
  'meta_key'   => 'event_date_new',
  'orderby'    => 'meta_value',
  'order'      => 'ASC'
]);
$post = array_shift($posts);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы