Intereting Posts
Включить название в div? Отображать сообщения и миниатюры с определенными тегами Ссылка Категории публикации аналогична ссылке на страницу Как отключить одно представление для настраиваемого типа сообщений? Комментарии по сравнению с выпуском следующей страницы Pingbacks jetpack рекламирует настройку контента Навигация по пользовательской теме Как удалить .html permalink без каждой записи, получающей 404? Отобразить другой тип цены в зависимости от категории Сохранение / Запись / Добавление файла для загрузки папки Сообщение удаляет любой текст из сообщения, следующего за специальными символами Gravity Forms отправит только электронную почту от администратора почему этот шаблон контента не показывает какие-либо мои записи в блоге? Скрыть все на сайте для посетителей, кроме определенных идентификаторов страниц. ТРЕБУЕТСЯ: get_bloginfo ('template_url') был найден в файле search.php. Вместо этого используйте get_template_directory_uri ()

Календарь событий «все в одном»: пользовательский запрос – получение каждого события. Экземпляр

Я использую календарь событий «все-в-одном» по времени, и я хотел бы отображать предстоящие события из календаря событий в карусели на отдельной странице, и мне нужно получить информацию о событии.

Я использую помощники ai1ec и get_events_between для получения событий в пределах определенного диапазона дат (между сегодняшним днем ​​и годом с этого момента), и я могу видеть в массиве (от get_events_between, который я просматриваю, чтобы получить идентификаторы сообщений), которые я получаю правильное количество событий (каждый из них является объектом).

Затем я использую запрос WP для отображения информации с помощью Ai1ec_Events_Helper. Я могу получить дату начала, время и т. Д.

Вы можете увидеть код здесь: http://pastebin.com/dhJjyw1y

Однако проблема заключается в том, что даже несмотря на то, что массив событий содержит 50+ событий, я получаю только 7 из моего запроса WP – 7 отдельных событий, которые я создал, с указанием исходной даты начала события (то есть, если событие началось 6 марта, и он повторяется один раз в месяц, я получаю только одно событие с датой 6 марта). Ссылка на страницу каждой детали мероприятия также ссылается на исходную дату («? Instance_id =» в URL-адресе пуст).

Кто-нибудь знает, как я могу получить каждый экземпляр каждого события, чтобы я показывал все 50+ событий?

Благодаря!


ETA:

Это результат, который я получаю от $ get_events для первого объекта массива:

array (56) {[0] => object (Ai1ec_Event) # 389 (51) {[post "] => object (stdClass) # 388 (23) {[" ID "] => string (3)" 220 "[" post_author "] => string (1)" 1 "[" post_date "] => string (19)" 2013-03-06 14:00:18 "[" post_date_gmt "] => string (19)" 2013-03-06 19:00:18 "[" post_content "] => string (440)" Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus nunc dolor, accumsan quis condimentum ut, quis tortor. Consectetur adipiscing elit. Etiam odio purus, imperdiet ac. Duis quis risus a odio sodales bibendum. В adipiscing quam est. " ["post_title"] => string (17) "Another New Event" ["post_excerpt"] => string (0) "" ["post_status"] => string (7) "publish" ["comment_status"] => string (6) «closed» ["ping_status"] => string (6) "closed" ["post_password"] => string (0) "" ["post_name"] => string (17) "another-new- event "[" to_ping "] => string (0)" "[" pinged "] => string (0)" "[" post_modified "] => string (19)" 2013-03-07 14:21:45 "[" post_modified_gmt "] => string (19)" 2013-03-07 19:21:45 "[" post_content_filtered "] => string (0)" "[" post_parent "] => string (1)" 0 "[" guid "] => string (94)" … com / wp /? post_type = ai1ec_event & p = 220 & instance_id = "[" menu_order "] => string (1)" 0 "[" post_type "] => string (11) «ai1ec_event» ["post_mime_type"] => string (0) "" ["comment_count"] => string (1) "0"} ["post_id"] => string (3) "220" [" instance_id "] => string (3)" 582 "[" start "] => int (1363838400) [" end "] => int (1363924800) [" start_truncated "] => NULL [" end_truncated "] => NULL ["allday"] => string (1) "1" ["instant_event"] => NULL ["recurrence_rules"] => string (23) "FREQ = MONTHLY; B Yday = 3TH;» ["exception_rules"] => string (0) "" ["recurrence_dates"] => string (0) "" ["exception_dates"] => string (0) "" ["place"] => string (12) «Местоположение» [«страна»] => строка (9) «Австралия» [«адрес»] => строка (44) «Адрес, остров надежды QLD 4212, Австралия» ["city"] => строка (11 ) «Остров Хоуп» [«провинция»] => строка (10) «Квинсленд» ["postal_code"] => строка (4) "4212" ["show_map"] => строка (1) "1" ["show_coordinates "] => NULL [" longitude "] => NULL [" latitude "] => NULL [" facebook_eid "] => NULL [" facebook_user "] => NULL [" facebook_status "] => NULL [" contact_name "] => string (12) "Contact Name" ["contact_phone"] => string (12) "123-456-7890" ["contact_email"] => строка (10) "me@you.com" ["contact_url" ] => NULL ["cost"] => string (6) "$ 10.00" ["ticket_url"] => NULL ["ical_feed_url"] => string (0) "" ["ical_source_url"] => string (0) "" ["ical_organizer"] => NULL ["ical_contact"] => NULL ["ical_uid"] => string (0) "" ["tags"] => NULL ["categories"] => NULL ["feed "] => NULL [" category_colors ":" Ai1ec_Event ": private] => NULL [" col or_style ":" Ai1ec_Event ": private] => NULL [" category_text_color ":" Ai1ec_Event ": private] => NULL [" category_bg_color ":" Ai1ec_Event ": private] => NULL [" faded_color ":" Ai1ec_Event ": private ] => NULL ["rgba_color": "Ai1ec_Event": private] => NULL ["tags_html": "Ai1ec_Event": private] => NULL ["category_blocks_html": "Ai1ec_Event": private] => NULL ["category_inline_html" : "Ai1ec_Event": private] => NULL ["_is_multiday": "Ai1ec_Event": private] => NULL ["request": "Ai1ec_Event": private] => NULL}

Событие имеет только данные наполнителя. Как вы можете видеть в цикле foreach из кода, с которым я связан, я могу получить идентификатор сообщения и идентификатор экземпляра событий, сохранить их в массивах и распечатать их. Поэтому я вижу, что он захватывает более 7 событий, а идентификаторы сообщений дублируются, а идентификаторы экземпляров уникальны.

Я попытался изменить цикл foreach на два, чтобы попытаться выполнить итерацию объектов (если это способ сделать это ?!), но он не выплюнул бы такие вещи, как идентификатор экземпляра, хотя я мог бы получить заголовок сообщения и guid. Кроме того, в объекте у него нет правильных дат начала и окончания событий (["start"] => int (1363838400) ["end"] => int (1363924800)), поэтому мне интересно, если я должны использовать запрос WP и Ai1ec_Events_Helper, чтобы получить даты в правильном формате?


ETA 2:

Познакомившись с тем, что действительно дает мне $ get_events, я изменил цикл foreach в pastebin выше:

foreach($get_events as $event) { echo '<p>Event: ' . $event->post->post_title . '<br />'; echo 'ID: ' . $event->post->ID . '<br />'; echo 'Instance: ' . $event->instance_id . '<br />'; echo 'Guid: ' . $event->post->guid . '<br />'; echo 'Link: <a href="' . $event->post->guid . $event->instance_id . '">Go to event</a></p>'; } 

Я могу получить заголовок события, ID, идентификатор экземпляра, идентификатор GUID и объединить идентификатор GUID и идентификатор экземпляра, чтобы создать правильный URL-адрес для правильного события, без использования WP-запроса. Ура! Кажется, что они также правильно упорядочены по дате (хотя сначала отображаются события на весь день).

Я также могу получить даты и время событий с $ event-> start и $ event-> end и запустить их через функцию date ().

Кажется, я ответил на свой вопрос … Я отправлю свой окончательный код в качестве ответа после его завершения.

Solutions Collecting From Web of "Календарь событий «все в одном»: пользовательский запрос – получение каждого события. Экземпляр"

Наконец, у меня есть возможность опубликовать мое решение. Обратите внимание, что события показывают события «Все дни» сначала, если они есть. К сожалению, я не знаю, как это сделать, поскольку оно закодировано таким образом в SQL-запросе в одном из файлов плагинов (и даже в файле отмечается, что в первую очередь происходят события «День дня»).

Я также использую информацию о событиях, собранную в атрибуты данных изображения, как и для карусели с использованием Cycle2. Но вы можете просто изменить эту часть, чтобы отобразить информацию или, тем не менее, хотите ее отформатировать.

Я надеюсь, что это поможет кому-то еще, если они столкнутся с необходимостью получать события из плагина AI1EC!

 <?php // Gets localized time $time = $ai1ec_events_helper->gmt_to_local( Ai1ec_Time_Utility::current_time() ); $bits = $ai1ec_events_helper->gmgetdate( $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 ie $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, $filter, $spanning = false); date_default_timezone_set('America/Toronto'); // Match timezone settings in WP // For each event foreach($get_events as $event) { // Event ID $eventID = $event->post->ID; // Event Title $eventTitle = $event->post->post_title; // Event URL $eventURL = $event->post->guid . $event->instance_id; // Event Date $eventMonth = date( 'M', $event->start ); $eventDay = date( 'd', $event->start ); // Event Image $imgID = get_post_thumbnail_id( $eventID ); // Event Time if( $event->allday == 1 ) { $timeSpan = 'All Day'; } else { $startTime = date( 'g:ia', $event->start ); $endTime = date( 'g:ia', $event->end ); $timeSpan = $startTime . ' - ' . $endTime; } $attr = array( 'alt' => get_post_meta( $imgID , '_wp_attachment_image_alt', true ), 'data-name' => $eventTitle, 'data-month' => $eventMonth, 'data-day' => $eventDay, 'data-time' => $timeSpan, 'data-url' => $eventURL ); echo get_the_post_thumbnail( $eventID, 'full', $attr ); } ?>