http://wordpress.org/support/topic/plugin-all-in-one-event-calendar-order-event-by-start-date?replies=3#post-2443756
Tôi đang tìm kiếm nội dung tương tự. Tôi tìm thấy bài viết ở trên sẽ giúp bạn!
"Sự kiện là bài đăng nhưng ngày bắt đầu/kết thúc sự kiện! = Ngày đăng bài. Khi bạn thực hiện truy vấn, bạn phải thực hiện truy vấn sự kiện chứ không phải đăng truy vấn. Nói cách khác, bạn phải sử dụng API của plugin để truy xuất sự kiện được sắp xếp theo ngày bắt đầu hoặc ngày kết thúc Chức năng quan tâm là get_events_between() Nó nằm trong lớp Ai1ec_Calendar_Helper Lớp này nằm ở: app/helper/class-ai1ec-calendar-helper.php Tôi đã sửa đổi mã của bạn một chút. chưa thử nghiệm để có thể có lỗi chính tả hoặc các lỗi khác nhưng logic giống nhau: http://pastebin.com/SNp4TJij "
Cập nhật!
Vì vậy, tôi thực sự đã tìm ra điều này ngay bây giờ ... Đây là mã tôi thiết lập để nhận sự kiện giữa ngày hôm nay và một năm kể từ hôm nay.
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();
Bạn cũng có thể sử dụng chức năng get_events_relative_to() với args cho thời gian bắt đầu, một giới hạn cho số lượng kết quả, trang offset (được sử dụng trong quan điểm của họ cho ai1ec không giống như wp pagination), và các bộ lọc ... nó trả về một mảng các đối tượng sự kiện đa chiều. Tôi đã phải tạo $ events = $ get_events ['events'] và sử dụng $ events trong foreach để truy xuất đúng post_ids.
Tôi đã xem qua các chủ đề ai1ec để tìm các ví dụ về cách hiển thị dữ liệu sự kiện.
echo apply_filters('the_content', $event->post->post_content);
Trả về thông tin sự kiện được định dạng HTML như thông tin được hiển thị trong một trang sự kiện.
Tôi đã thử sử dụng mã đó. Các sự kiện được hiển thị trong khung thời gian chính xác nhưng được hiển thị theo thứ tự thời gian bắt đầu sai (nhưng để ngày đăng) – Rosencruez