Эй, у меня проблема с сортировкой пользовательских сообщений в галерее.
Я создал свою галерею CPT и свое событие CPT.
Галерея имеет поле ACF «дата» и поле с именем «related_event».Событие имеет поле ACF 'start_event_date'.
Некоторые галереи связаны с Событиями, но некоторые - нет.
Если у галереи есть связь с Событием, дата галереи - это дата события (настраиваемое поле - 'start_event_date'), но если галерея не имеет отношениязначение даты равно значению собственного настраиваемого поля 'дата'.
Я не представляю, как можно связать значения дат и отсортировать их по ним.
Пожалуйста, дайте мне какой-либо совет или подтверждениеРешение моей проблемы.
<?php
$argsGallery = array(
'post_type' => 'galeria',
'posts_per_page' => 6,
// 'meta_key' => 'date',
// 'orderby' => 'meta_value',
// 'order' => 'DESC'
);
$theGalleryPosts = new WP_Query($argsGallery);
while($theGalleryPosts->have_posts()){
$theGalleryPosts->the_post();
$title = get_the_title();
$mainPhoto = get_field('main_photo');
$date= get_field('date');
$relatedEvent = get_field('related_event');
if($relatedEvent){
foreach($relatedEvent as $event){
$EventsID = array();
$argsEvents = array(
'post_type' => 'wydarzenie',
'posts_per_page' => -1,
);
$theEventsPosts = new WP_Query($argsEvents);
if ( $theEventsPosts->have_posts() ) {
while($theEventsPosts->have_posts()){
$theEventsPosts->the_post();
if($event->ID == get_the_ID()){
$startEventDate = get_field('start_event_date');
}
}
}
}
}
?>
<div class="gallery__card">
<img class="gallery__card-img" src="<?php echo $mainPhoto['url'] ?>">
<div class="gallery__card-info">
<p class="gallery__card-title"><?php echo $title;?></p>
<?php
if ($relatedEvent){ ?>
<p class="gallery__card-date"><?php echo $startEventDate ?></p>
<?php } else{ ?>
<p class="gallery__card-date"><?php echo $date; ?></p>
<?php } ?>
</div>
</div>
<?php
}wp_reset_postdata();
?>