gpt4 book ai didi

Wordpress 多合一事件日历 : Show Upcoming Events Only

转载 作者:行者123 更新时间:2023-12-04 18:47:41 25 4
gpt4 key购买 nike

我正在使用此处提供的多合一事件日历:http://wordpress.org/extend/plugins/all-in-one-event-calendar/
我正在尝试使用 WP_Query() 函数仅显示即将发生的事件(因此没有过去的事件)。我看到数据库中有一个“wp_ai1ec_events”表和一个名为“start”的列,开始时间为 yyyy-mm-dd hh:mm:ss 格式。我可以使用 $currentTime = current_time('mysql') 以相同的格式获取当前时间

这是我的查询到目前为止的样子:

    $frontpageevents='post_type=ai1ec_event&showposts=3&orderby=start&order=ASC&meta_value=yes';
$eventquery = new WP_Query($frontpageevents);

我尝试将 '&start>'.$currentTime 添加到 $frontpageevents 声明的末尾,但这不起作用。我希望如果有人知道如何处理这个。

最佳答案

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类中。该类位于:app/helper/class-ai1ec-calendar-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();

您还可以将函数 get_events_relative_to() 与 args 用于开始时间、结果数量的限制、页面偏移量(用于 ai1ec 的 View 中,与 wp 分页不同)和过滤器......它返回事件对象的多维数组。我必须创建 $events = $get_events['events'] 并在我的 foreach 中使用 $events 来正确检索 post_ids。
我浏览了 ai1ec-themes 以找到如何显示事件数据的示例。 echo apply_filters( 'the_content', $event->post->post_content );返回 HTML 格式的事件信息,如单个事件页面中显示的内容。

关于Wordpress 多合一事件日历 : Show Upcoming Events Only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11545678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com