我做了类似的事情,您需要使用的技术称为元查询。
下面是我编写的查询,它基于存储为自定义字段元值的日期值来获取帖子。
query_posts(
array(
\'post_type\'=>\'post\',
\'order\'=>\'ASC\',
\'orderby\'=>\'meta_value_num\',
\'meta_key\'=>\'date_event\',
\'posts_per_page\'=> -1,
\'meta_query\' => array(
\'relation\' => \'AND\',
array(
\'key\' => \'date_event\',
\'value\' => $startDate, // Lowest date value
\'compare\' => \'>=\'
),
array(
\'key\' => \'date_event\',
\'value\' => $endDate, // Highest date value
\'compare\' => \'<=\'
)
)
));
\'orderby\' => \'meta_value_num\'
将按元值对结果排序
\'meta_key\' => \'date_event\'
说明自定义字段的调用方式
meta_query
是一个数组,它指定结果必须同时满足这两个条件,然后指定最小日期和最大日期。
日期值必须存储为YYYY-MM-DD
或作为“Unix纪元后的秒数”值。