【问题标题】:ACF repeater sort multiple datesACF 中继器对多个日期进行排序
【发布时间】:2018-12-31 21:57:01
【问题描述】:

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

$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

以及我需要检查的“日期”,1.8.2019 已经隐藏了日期,并查看日期 26.8.2018 并将其以正确的顺序放置在日期的位置。

这样的事情可能吗?有人知道如何帮助我吗?或者也许指引我走向正确的道路?

非常感谢

【问题讨论】:

  • 我不明白你想要实现什么 - 如果 datumy 是 ACF 中继器,那么 datum_oddatum_do 是什么?能解释清楚一点吗?
  • 抱歉,datumy 是 ACF 中继器,datum_od & datum_do 只是简单的日期选择器字段。在 WP 中,您可以选择仅设置从 - 到或更多日期的日期,一些自定义帖子只有从 - 到的日期,有些有 5 个日期,我需要从壁橱日期对其进行排序。它类似于日历。

标签: wordpress advanced-custom-fields acfpro


【解决方案1】:

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

            $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 );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 2015-08-07
    • 2021-12-18
    • 2019-07-28
    • 2021-06-13
    • 2018-02-09
    相关资源
    最近更新 更多