这与question found here. 这个问题暗示了WordpressWP_Query example, 这很有帮助,但对我没用。
我的代码如下:
$posts = get_posts(array(
\'post_type\' => \'events\',
\'posts_per_page\' => -1,
\'meta_key\' => \'from_datetime\',
\'meta_value\' => date( "F d, Y g:i a" ),
\'meta_compare\' => \'>\',
\'orderby\' => \'meta_value\',
\'order\' => \'ASC\'
));
自定义字段是在我们的博客中使用ACF创建的。这个
from_datetime
字段显示如下:
April 18, 2017 2:30 pm
所以我把它翻译成日期命名法:
date( "F d, Y g:i a" )
事件是自定义的帖子类型。基本上,我想展示即将到来的两个未通过的事件。因此,这与WP\\u查询页面上的示例非常接近,但上述操作仍然不起作用。查询不返回任何内容。我知道如果我删除
meta_value
在上面的内容中,有四个事件是超越“现在”的。
有没有想过我可能做错了什么?根据WP的文档,该查询似乎是正确的。非常感谢。
最合适的回答,由SO网友:Abdul Awal Uzzal 整理而成
我认为你的询问有误。请尝试以下操作:
$posts = get_posts(array(
\'post_type\' => \'events\',
\'posts_per_page\' => -1,
\'meta_query\' => array(
\'meta_key\' => \'from_datetime\',
\'type\' => \'DATETIME\', // You can also try changing it to TIME or DATE if it doesn\'t work
\'meta_value\' => date( "F d, Y g:i a" ),
\'meta_compare\' => \'>\',
),
\'orderby\' => \'meta_value\',
\'order\' => \'ASC\'
));
SO网友:Paul \'Sparrow Hawk\' Biron
您是在使用ACF Pro(例如,使用它的“日期和时间选择器”字段类型)还是在“正常”ACF中添加日期/时间字段类型的插件之一(例如。,Date & Time Picker for Advanced Custom Fields).
如果是前者,则将日期/时间值存储在$wpdb->postmeta
喜欢2017-04-18 14:30:00
, 无论字段定义中指定的“显示格式”或“返回格式”。因此,您应该查询为:
$posts = get_posts(array(
\'post_type\' => \'events\',
\'posts_per_page\' => -1,
\'meta_key\' => \'from_datetime\',
\'meta_value\' => date( "Y-m-d h:i:s" ),
\'meta_compare\' => \'>\',
\'orderby\' => \'meta_value\',
\'order\' => \'ASC\'
));
如果您使用的插件将日期/时间字段类型添加到“普通”ACF中,那么您必须弄清楚该插件如何存储值和格式
meta_value
照着