不显示过去的帖子。ACF日期>日期

时间:2021-10-14 作者:Henrik Harju

试图制作过去与ACF相比的帖子the_field(\'end_date\')

当前代码:

$loop = new WP_Query( array(
    \'category_name\' => \'gold\',
    \'meta_key\'    => \'status\',
    \'meta_value\'  => \'active\',
    \'orderby\'   => \'rand\',
    \'posts_per_page\' => -1,
    \'relation\' => \'AND\',
    array(
        \'key\' => \'end_date\',
        \'value\' => date("y-m-d"),
        \'compare\' => \'>=\',
        \'type\' => "DATE"
    )
);

1 个回复
SO网友:Buttered_Toast

你似乎错过了meta_query 适当地看一下您的代码,您似乎混合了两个元值,所以我们需要将它们组合起来。

$loop = new WP_Query([
    \'category_name\'  => \'gold\',
    \'orderby\'        => \'rand\',
    \'posts_per_page\' => -1,
    \'meta_query\' => [
        \'relation\' => \'and\',
        [
            \'key\'   => \'status\',
            \'value\' => \'active\'
        ],
        [
            \'key\'     => \'end_date\',
            \'value\'   => date(\'Y-m-d\'),
            \'compare\' => \'>=\',
            \'type\'    => \'DATE\'
        ]
    ]
]);
而且date(\'y-m-d\') 返回当前日期(如果我们按此答案创建的日期,将返回21-10-14),这不是有效的日期格式,您将无法进行此比较
即使它正在寻找与当前日期相等或更早的职位,我认为这是不正确的(我可能是错的,所以请随意更正我的=])。

您需要确保在该元字段中存储了有效日期格式,需要date(\'Y-m-d\') 而不是date(\'y-m-d\'), 请注意大写Y。

相关推荐