【问题标题】:ACF ordering by datetime field for upcoming events not workingACF 按日期时间字段排序即将发生的事件不起作用
【发布时间】:2019-01-17 21:58:59
【问题描述】:

我正在尝试使用 ACF 日期时间选择器字段提取 WordPress 中即将发生的事件列表。

我认为应该是一组相对简单的$args 现在让我很困惑为什么它不起作用:

$args = [
 "post_type" => "event",
 "post_status" => "publish",
 "posts_per_page" => 3,
 "order" => "ASC",
 "orderby" => "meta_value",
 "cat" => implode(',', $category),
 "meta_query" => [
   [
    "key" => "event_start_date_and_time",
    "compare" => ">=",
    "value" => date('U'),
    "type" => "DATETIME"
   ]
],
"meta_key" => "event_start_date_and_time",
"meta_type" => "DATE"
];

这是带来事件,但它们并非都按照开始日期时间的 ASC 顺序。

我是否遗漏了一些明显的东西?

文档

https://www.advancedcustomfields.com/resources/date-time-picker/

数据库值

ACF DateTime Picker 字段将日期存储在数据库中,如下所示

2018-07-21 15:00:00

【问题讨论】:

  • 将 meta_type 更改为 DATETIME
  • 我已经尝试将两者都更改为DATETIMEDATE 并且都不返回我想要的列表。

标签: php wordpress advanced-custom-fields


【解决方案1】:

以下代码正在运行其测试代码。

        $posts = array(
         "post_type" => "product",
         "post_status" => "publish",
         "posts_per_page" => 3,
         "order" => "ASC",
         "orderby" => "meta_value",
         "cat" => implode(',', $category),
         "meta_query" => (
         array (
            "key" => "evntdate",
            "compare" => ">=",
            "value" => date('U'),
            "type" => "DATETIME"
           )
        ),
        "meta_key" => "evntdate",
        "meta_type" => "DATETIME"
        );
        $posts=get_posts($posts);

【讨论】:

    猜你喜欢
    • 2014-06-12
    • 2020-09-20
    • 2015-01-31
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多