У меня странная ситуация, и я не совсем уверен, будет ли мое решение работать или возможно ... Это для сайта Wordpress, но я надеюсь, что это общий запрос l oop как в отличие от чего-то определенного c для WP ... но давайте попробуем:
У меня есть массив, что-то вроде этого (меняется при поиске сообщений о событиях WP):
$events = Array
(
[0] => WP_Post Object
(
[ID] => 8717
[post_author] => 5
[post_date] => 2020-01-28 14:25:36
[post_parent] => 2766
[post_title] => Film 1
)
[1] => WP_Post Object
(
[ID] => 8716
[post_author] => 5
[post_date] => 2020-01-28 14:25:36
[post_parent] => 2769
[post_title] => Film 2
)
[2] => WP_Post Object
(
[ID] => 8716
[post_author] => 5
[post_date] => 2020-01-28 14:25:39
[post_parent] => 2766
[post_title] => Film 1
)
)
Я oop через массив с foreach:
foreach ( $events as $event ) { global $post;
echo tribe_event_featured_image( $event->ID, 'medium' );
// This outputs an image, pulled from the event post
echo '<h4>'. $event->post_title . '</h4>';
tribe_get_start_date($event, false, $format= 'h:i')
//This outputs a start time, pulled from the event
}
Однако мне нужно сначала проверить, совпадает ли post_parent. Если это так, а не отображать эти элементы отдельно, мне нужно отобразить их вместе.
Таким образом, в настоящее время вывод:
IMAGE
Film 1
10:00
IMAGE
Film 2
12:00
IMAGE
Film 1
14:00
Однако, Фильм 1 и фильм 3 имеют одно и то же значение ключа "post_parent", поэтому я хочу, чтобы результат был:
IMAGE
Film 1
10:00, 14:00 (Note 14:00 is the time pulled from 3rd object in array)
IMAGE
Film 2
12:00