http://wordpress.org/support/topic/plugin-all-in-one-event-calendar-order-event-by-start-date?replies=3#post-2443756
我在寻找类似的东西。我发现上面的帖子应该帮助!
“事件是帖子,但是事件开始/结束日期=发布日期当你进行查询时,你必须做一个事件查询,而不是发布查询,换句话说,你必须使用插件的API来检索事件可以通过开始或结束日期排序感兴趣的功能get_events_between()它位于Ai1ec_Calendar_Helper类的类位于:应用程序/帮手/类ai1ec个历helper.php我修改你的代码有点我。没有测试过所以有可能是拼写错误或其他错误,但逻辑是一样的:http://pastebin.com/SNp4TJij“
更新!
所以我真的得到了现在这个想通了......这是我建立以便让今天,从今天至一年事件的代码。
global $ai1ec_calendar_helper, $ai1ec_events_helper;
// gets localized time
$bits = $ai1ec_events_helper->gmgetdate($ai1ec_events_helper->gmt_to_local(time()));
//sets start time to today
$start = gmmktime(0,0,0,$bits['mon'],$bits['mday'],$bits['year']);
//sets end time to a year from today i.e. $bits['year']+1
$end = gmmktime(0,0,0,$bits['mon'],$bits['mday'],$bits['year']+1);
//Look in class-ai1ec-calendar-helper.php for details
$get_events = $ai1ec_calendar_helper->get_events_between($start,$end);
//loop through results to get post_ids
foreach($get_events as $event):
$post_ids[] = $event->post_id;
endforeach;
// The New Events Query
$args = array(
'posts_per_page' => 4,
'paged' => get_query_var('paged'),
'post_type'=> 'ai1ec_event',
'post__in' => $post_ids
);
$events_added = new WP_Query($args);
// The Loop
while ($events_added->have_posts()) : $events_added->the_post();
$event = Ai1ec_Events_Helper::get_event($post->ID);
//Your code here
endwhile;
wp_reset_postdata();
您也可以使用ARGS使用功能get_events_relative_to()的开始时间,对结果进行数量限制,页偏移(这是在他们的意见用于ai1ec为wp分页不一样),和过滤器...它返回一个事件对象的多维数组。我必须创建$ events = $ get_events ['events'],并在我的foreach中使用$ events来正确检索post_ids。
我通过ai1ec-themes查看了如何显示事件数据的示例。
echo apply_filters('the_content', $event->post->post_content);
返回经过HTML格式化喜欢在一个单一的活动页面显示事件信息。
我试过使用该代码。事件显示在正确的时间范围内,但是以错误的开始时间顺序显示(但为了发布日期) – Rosencruez 2012-09-07 22:53:12