从两个不同的自定义字段按日期对帖子进行排序的问题

时间:2019-04-17 19:20:56

标签: wordpress advanced-custom-fields meta-query

嘿,我在排序画廊自定义帖子时遇到问题。

我创建了CPT图库和CPT活动。

画廊具有ACF字段“日期”和名为“ related_event”的字段。 事件具有ACF字段“ start_event_date”。

有些画廊与活动有关系,而有些则没有。

如果画廊与事件有关系,那么画廊的日期是事件的日期(自定义字段-“ start_event_date”),但是如果画廊没有date的关联值,则是其自定义字段“ 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();
                        ?>

0 个答案:

没有答案