ACF中继器对多个日期进行排序



我有一个小问题,我需要解决以下问题:

$today = current_time('Ymd');
$args = array(
'post_type'      => 'event',
'posts_per_page' => 3,
'meta_query'     => array(
'relation' => 'OR',
'datumOd'  => array(
'key' => 'datum_od',
'value' => $today,
'compare' => '>=',
),
'datumDo'  => array(
'key' => 'datum_do',
'value' => $today,
'compare' => '>=',
),
'datumy'   => array(
'key' => 'datumy'
)
),
'orderby'        => array(
'datumOd' => 'ASC',
'datumDo' => 'ASC',
'datumy'  => 'ASC'
),
);
$events = new WP_Query( $args );

"datumy"是带有日期选择器的acf中继器,日期在其中。我需要想一些事情,我可以检查我的中继器中的日期是否已经发生,并且仍在发生,以及如何将它们添加到循环中。

示例:

current day: 10.8.2018
"datum_od" = 13.08.2018 - post with one date
"datum_od" = 20.08.2018 - post with one date
"datum_od" = 15.09.2018 - post with one date
"datumy" = array (1.8.2018, 26.8.2018, 2.9.2018) - post with multiple dates

以及我需要检查的"日期",2019年8月8日已经隐藏了日期,要查看2018年8月26日的日期,请按正确的顺序将其与日期放在一起。

这样的事情可能吗?有人知道怎么帮我吗?或者指引我走正确的路?

非常感谢

感谢您的关注,我解决了这个问题,如果有人遇到同样的问题,这里是我的解决方案:

$second = array();
for ($i = 1; $i <= 10; $i++) {
$datumy = ( 'Datumy' . $i );
$datumDB = ('datumy_' . $i . '_datum');
$second    += array(
$datumy => array(
'key'     => $datumDB,
'value'   => $today,
'compare' => '>=',
),
);
}
$args['meta_query'] = array_merge( $args['meta_query'], $second );

最新更新