function ikit_event_external_add_meta_box_integration($post) { $external_source_display_name = get_post_meta($post->ID, IKIT_CUSTOM_FIELD_GENERIC_EXTERNAL_SOURCE_DISPLAY_NAME, true); $event_meta = ikit_event_external_get_meta($post->ID); ?> <div class="wp-box"> <div class="inner"> <table class="widefat"> <tr> <td> External Source </td> <td> <?php echo $external_source_display_name; ?> </td> </tr> <tr> <td> Start Datetime </td> <td> <?php echo ikit_date_without_time($event_meta->start_date) . ' ' . $event_meta->start_time; ?> </td> </tr> <tr> <td> End Datetime </td> <td> <?php echo ikit_date_without_time($event_meta->end_date) . ' ' . $event_meta->end_time; ?> </td> </tr> </table> <?php }
/** * Retrieve the meta for an event * * Because there are too many fields, it would be bad for performance * to store all as meta fields on the post, so instead * a meta field just stores the event id, then this function * is used to retrieve additional information, works for both * Eventbrite and etouches events, the caller should then * parse data based on the service. */ function ikit_event_get_meta($ikit_event_id) { $meta = null; $service = get_post_meta($ikit_event_id, IKIT_CUSTOM_FIELD_IKIT_EVENT_SERVICE, true); if ($service == IKIT_EVENT_SERVICE_EVENTBRITE) { $meta = ikit_event_eventbrite_get_meta($ikit_event_id); } else { if ($service == IKIT_EVENT_SERVICE_ETOUCHES) { $meta = ikit_event_etouches_get_meta($ikit_event_id); } else { if ($service == IKIT_EVENT_SERVICE_EXTERNAL) { $meta = ikit_event_external_get_meta($ikit_event_id); } else { if ($service == IKIT_EVENT_SERVICE_INTERNAL) { $meta = ikit_event_internal_get_meta($ikit_event_id); } } } } return $meta; }