我无法使用WP_Query和日期值元素值过滤日期值。我为每个帖子都有自定义帖子类型和元数据值,其中两个元数值是日期:event_start_date
和event_end_date
。我的前端代码工作正常,直到我要求查询仅显示event_start_date >= today
我有5个我正在测试的自定义帖子,event_start_date值在下面(每个元素的值都存储为数据库中的DateTime对象,我为了便于阅读而在下面编辑过):
当前显示的是所有帖子(与自定义帖子类型匹配),无论帖子的日期如何。我在下面的代码是根据WP_Query上的这个Codex Link改编的,并使用meta_query上Codex Link的规则:
$args = array(
'post_type' => 'event' ,
'posts_per_page' => $numberOfPosts, //declared variable
'meta_key' => 'event_start_date',
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'event_start_date',
'value' => '2017-01-01', //I've hard-coded this to test with
'compare' => '>=',
),
)
);
$listings = new WP_Query( $args );
我认为我的比较运算符可能是错误的方式,所以我尝试了#34;< ="当我这样做时,我得到了#34;没有找到列表"错误。
修改
在实现下面的有用答案后,问题仍然存在,事实证明meta_query不喜欢将日期存储为对象。我更新了meta_values的存储和测试方式,并且一切正常。
答案 0 :(得分:0)