WPQuery Date and ACF

时间:2021-07-19 作者:djoo

我正在创建一个查询,需要按ACF日期字段进行筛选。在数据库中(wp\\u post\\u meta table中)的值如下:MM/DD/YYYY

我有几个房间,在date\\u available\\u from字段中的值为:

2021 06月01日2021 08月21日2021 08月31日2021 09月06日2021 07月30日2021 11月31日2021 12月31日ul>然后我像这样进行查询:

$args[1] = array(
\'posts_per_page\' => -1,
\'tax_query\' => array(
    array(
        \'taxonomy\' => \'cities\',
        \'field\'    => \'slug\',
        \'terms\'    => $term_slug,
    ),
),
\'post_type\' => \'room\',
\'meta_query\' => array(
    \'relation\' => \'AND\',
    \'date_available_clause\' => array(
        \'key\' => \'date_available_from\',
        \'value\' => $date_from_format_search,
        \'compare\' => \'<=\',
    ),
),
\'orderby\' => array(
\'date_available_clause\' => \'ASC\',
)
);
问题1:该条款不起作用

例如:date\\u available\\u from<;=2021 7月19日给我:

2022年1月31日2021 7月19日给我:

2021 07月30日2021 09月06日2021 10月01日2021 10月31日2021 11月30日2021 12月31日我的排序总是按月(而不是按日期)

我怎样才能编辑我的代码,然后让过滤器和排序正常?

谢谢

1 个回复
最合适的回答,由SO网友:djoo 整理而成

所以,最后我遵循了我在网上找到的一些建议。

首先,我更改了字段的值,以确保数据库中的值类似于yyyymmdd。我遇到的问题是,该字段是通过API填写的,ACF无法以数据库中良好的格式格式化日期。我必须更改通过API发送的日期格式。使用后端填充字段日期的普通人永远不会遇到此问题。

其次,在代码中添加一行

\'date_disponible_clause\' => array(
\'key\' => \'date_available_from\',
\'value\' => $date_from_format_search,
\'compare\' => \'<=\',
\'type\'    => \'DATE\' // This line
)
现在它工作得很好。谢谢大家。

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post