如何使用多个自定义元字段获取事件?

时间:2011-01-31 作者:user1462

我需要一份当前事件的清单。这些事件有一个开始和结束日期,因此我需要能够选择一个范围,而不是只获取任何结束日期在今天之后的事件列表。

有人对如何做到这一点有什么建议吗?(据我所知,似乎没有办法使用多个“meta\\u key”和“meta\\u compare”值,但一定有办法)

下面是我在论点中使用的示例,但我也需要在开始日期这样做:

\'meta_key\' => \'end_date_value\', \'meta_compare\' => \'>\', \'meta_value\' => $todaysDate,

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

您可以使用当前代码创建查询,然后在循环中运行检查,然后再显示以下事件

<?php 
query_posts(\'meta_key\' => \'end_date_value\', \'meta_compare\' => \'>\', \'meta_value\' => $todaysDate);

 while ( have_posts() ) : the_post();
   $post_custom = get_post_custom($post_id);
   if ($startDate < $post_custom[\'start_date_value\']){
    //your loop here
   }  
}
?>

请记住,这不是很好的编码方式,我可能会创建一个更好的sql查询或使用“posts\\u where”挂钩。

但这只是一个开始

SO网友:keatch

不太有效,但您可以执行两个查询。

一个提取日期大于开始日期的事件,另一个提取结束时间小于结束数据的事件。

然后,你可以array_intersect() 两个阵列。

结束