예제 #1
0
 /**
  * Fetches the JSON-LD data for this type of object
  *
  * @param  int|WP_Post|null $post The post/event
  * @param  array  $args
  * @return array
  */
 public function get_data($posts = null, $args = array())
 {
     $posts = $posts instanceof WP_Post ? array($posts) : (array) $posts;
     $return = array();
     foreach ($posts as $i => $post) {
         $data = parent::get_data($post, $args);
         // If we have an Empty data we just skip
         if (empty($data)) {
             continue;
         }
         // Fetch first key
         $post_id = key($data);
         // Fetch first Value
         $data = reset($data);
         $event_tz_string = get_post_meta($post_id, '_EventTimezone', true);
         $tz_mode = tribe_get_option('tribe_events_timezone_mode', 'event');
         $tz_string = $event_tz_string && $tz_mode === 'event' ? $event_tz_string : Tribe__Events__Timezones::wp_timezone_string();
         $data->startDate = Tribe__Events__Timezones::to_utc(tribe_get_start_date($post_id, true, Tribe__Date_Utils::DBDATETIMEFORMAT), $tz_string, 'c');
         $data->endDate = Tribe__Events__Timezones::to_utc(tribe_get_end_date($post_id, true, Tribe__Date_Utils::DBDATETIMEFORMAT), $tz_string, 'c');
         if (tribe_has_venue($post_id)) {
             $venue_id = tribe_get_venue_id($post_id);
             $venue_data = Tribe__Events__JSON_LD__Venue::instance()->get_data($venue_id);
             $data->location = reset($venue_data);
         }
         if (tribe_has_organizer($post_id)) {
             $organizer_id = tribe_get_organizer_id($post_id);
             $organizer_data = Tribe__Events__JSON_LD__Organizer::instance()->get_data($organizer_id);
             $data->organizer = reset($organizer_data);
         }
         $price = tribe_get_cost($post_id);
         $price = $this->normalize_price($price);
         if ('' !== $price) {
             // Manually Include the Price for non Event Tickets
             $data->offers = (object) array('@type' => 'Offer', 'price' => $price, 'url' => $data->url);
         }
         $return[$post_id] = $data;
     }
     return $return;
 }
예제 #2
0
tribe_get_template_part('modules/meta/details');
// If we have no map to embed and no need to keep the venue separate...
if (!$set_venue_apart && !tribe_embed_google_map()) {
    tribe_get_template_part('modules/meta/venue');
} elseif (!$set_venue_apart && !tribe_has_organizer() && tribe_embed_google_map()) {
    // If we have no organizer, no need to separate the venue but we have a map to embed...
    tribe_get_template_part('modules/meta/venue');
    echo '<div class="tribe-events-meta-group tribe-events-meta-group-gmap">';
    tribe_get_template_part('modules/meta/map');
    echo '</div>';
} else {
    // If the venue meta has not already been displayed then it will be printed separately by default
    $set_venue_apart = true;
}
// Include organizer meta if appropriate
if (tribe_has_organizer()) {
    tribe_get_template_part('modules/meta/organizer');
}
do_action('tribe_events_single_event_meta_primary_section_end');
?>

	<?php 
if ($not_skeleton) {
    ?>
		</div>
	<?php 
}
?>


	<?php 
예제 #3
0
파일: meta.php 프로젝트: TMBR/johnjohn
 /**
  * Return the single event meta
  *
  * @deprecated since 3.6
  * @todo       remove in 3.9
  * @return string
  **/
 function tribe_events_single_event_meta()
 {
     // Use the new template driven approach to rendering meta data unless the user opts to use the old system
     if (!apply_filters('tribe_events_single_event_meta_legacy_mode', false)) {
         tribe_get_template_part('modules/meta');
         return '';
     }
     // For users using the meta factory ("legacy mode")...
     $event_id = get_the_ID();
     $skeleton_mode = apply_filters('tribe_events_single_event_the_meta_skeleton', false, $event_id);
     $group_venue = apply_filters('tribe_events_single_event_the_meta_group_venue', false, $event_id);
     $html = '';
     if ($skeleton_mode) {
         // show all visible meta_groups in skeleton view
         $html .= tribe_get_the_event_meta();
     } else {
         $html .= '<div class="tribe-events-single-section tribe-events-event-meta tribe-clearfix">';
         // Event Details
         $html .= tribe_get_meta_group('tribe_event_details');
         // When there is no map show the venue info up top
         if (!$group_venue && !tribe_embed_google_map($event_id)) {
             // Venue Details
             $html .= tribe_get_meta_group('tribe_event_venue');
             $group_venue = false;
         } else {
             if (!$group_venue && !tribe_has_organizer($event_id) && tribe_address_exists($event_id) && tribe_embed_google_map($event_id)) {
                 $html .= sprintf('%s<div class="tribe-events-meta-group tribe-events-meta-group-gmap">%s</div>', tribe_get_meta_group('tribe_event_venue'), tribe_get_meta('tribe_venue_map'));
                 $group_venue = false;
             } else {
                 $group_venue = true;
             }
         }
         // Organizer Details
         if (tribe_has_organizer($event_id)) {
             $html .= tribe_get_meta_group('tribe_event_organizer');
         }
         $html .= apply_filters('tribe_events_single_event_the_meta_addon', '', $event_id);
         $html .= '</div>';
     }
     if (!$skeleton_mode && $group_venue) {
         // If there's a venue map and custom fields or organizer, show venue details in this seperate section
         $venue_details = tribe_get_meta_group('tribe_event_venue') . tribe_get_meta('tribe_venue_map');
         if (!empty($venue_details)) {
             $html .= apply_filters('tribe_events_single_event_the_meta_venue_row', sprintf('<div class="tribe-events-single-section tribe-events-event-meta tribe-clearfix">%s</div>', $venue_details));
         }
     }
     return apply_filters('tribe_events_single_event_meta', $html);
 }
예제 #4
0
 /**
  * @deprecated
  */
 function sp_has_organizer($postId = null)
 {
     _deprecated_function(__FUNCTION__, '2.0', 'tribe_has_organizer()');
     return tribe_has_organizer($postId);
 }
<div class="single-event-popup <?php echo tribe_events_event_classes( $event_id ); ?>">
    <div class="col-sm-4">
      <?php echo tribe_event_featured_image( $event_id, 'event-popup', false ); ?>
    </div>
    <div class="col-sm-8">
      
      <h2 class="event-title"><?php echo $event->post_title; ?></h2>
      <?php echo apply_filters( 'the_content', $event->post_content ); ?>

      <ul class="meta-info">
        <li><label>What:</label> <?php echo $event->post_title; ?></li>
        <li><label>When:</label> <?php echo tribe_events_event_schedule_details( $event_id ); ?></li>

        <?php if ( tribe_address_exists( $event_id ) ) : ?>
          <li><label>Where:</label> <?php echo tribe_get_full_address( $event_id ); ?></li>
        <?php endif; ?>

        <li><label>Cost:</label> <?php echo get_post_meta( $event_id, '_ecp_custom_2', true ); ?></li>
        
        <?php if ( tribe_has_organizer( $event_id ) ): ?>
          <li><label>Info:</label> <a href="mailto:<?php echo tribe_get_organizer_email( $event_id ); ?>"><?php echo tribe_get_organizer_email( $event_id ); ?></a></li>
        <?php endif; ?>
  
        <li><label>Register:</label> <?php echo get_post_meta( $event_id, '_ecp_custom_5', true ); ?></li>
      </ul>

      <?php echo bones_get_edit_link( $event_id ); ?>

    </div>
</div>
<?php 
do_action('tribe_events_single_event_meta_primary_section_start');
// Always include the main event details in this first section
tribe_get_template_part('modules/meta/details');
// Include organizer meta if appropriate
if (tribe_has_organizer()) {
    tribe_get_template_part('modules/meta/organizer');
}
tribe_get_template_part('modules/meta/venue');
echo '<div class="tribe-events-meta-group tribe-events-meta-group-gmap">';
tribe_get_template_part('modules/meta/map');
echo '</div>';
// If we have no map to embed and no need to keep the venue separate...
if (!$set_venue_apart && !tribe_embed_google_map()) {
    tribe_get_template_part('modules/meta/venue');
} elseif (!$set_venue_apart && !tribe_has_organizer() && tribe_embed_google_map()) {
    // If we have no organizer, no need to separate the venue but we have a map to embed...
    tribe_get_template_part('modules/meta/venue');
    echo '<div class="tribe-events-meta-group tribe-events-meta-group-gmap">';
    tribe_get_template_part('modules/meta/map');
    echo '</div>';
} else {
    // If the venue meta has not already been displayed then it will be printed separately by default
    //$set_venue_apart = true;
    $set_venue_apart = false;
}
do_action('tribe_events_single_event_meta_primary_section_end');
?>

<?php 
if ($not_skeleton) {
예제 #7
0
 /**
  * Return the single event meta
  *
  * @return string
  * @since 3.0
  * @author Jessica Yazbek
  **/
 function tribe_events_single_event_meta()
 {
     $event_id = get_the_ID();
     $skeleton_mode = apply_filters('tribe_events_single_event_the_meta_skeleton', false, $event_id);
     $group_venue = apply_filters('tribe_events_single_event_the_meta_group_venue', false, $event_id);
     $html = '';
     if ($skeleton_mode) {
         // show all visible meta_groups in skeleton view
         $html .= tribe_get_the_event_meta();
     } else {
         $html .= '<div class="tribe-events-single-section tribe-events-event-meta tribe-clearfix">';
         // Event Details
         $html .= tribe_get_meta_group('tribe_event_details');
         // When there is no map show the venue info up top
         if (!$group_venue && !tribe_embed_google_map($event_id)) {
             // Venue Details
             $html .= tribe_get_meta_group('tribe_event_venue');
             $group_venue = false;
         } else {
             if (!$group_venue && !tribe_has_organizer($event_id) && tribe_address_exists($event_id) && tribe_embed_google_map($event_id)) {
                 $html .= sprintf('%s<div class="tribe-events-meta-group">%s</div>', tribe_get_meta_group('tribe_event_venue'), tribe_get_meta('tribe_venue_map'));
                 $group_venue = false;
             } else {
                 $group_venue = true;
             }
         }
         // Organizer Details
         if (tribe_has_organizer($event_id)) {
             $html .= tribe_get_meta_group('tribe_event_organizer');
         }
         $html .= apply_filters('tribe_events_single_event_the_meta_addon', '', $event_id);
         $html .= '</div>';
     }
     if (!$skeleton_mode && $group_venue) {
         // If there's a venue map and custom fields or organizer, show venue details in this seperate section
         $venue_details = tribe_get_meta_group('tribe_event_venue') . tribe_get_meta('tribe_venue_map');
         if (!empty($venue_details)) {
             $html .= apply_filters('tribe_events_single_event_the_meta_venue_row', sprintf('<div class="tribe-events-single-section tribe-events-event-meta tribe-clearfix">%s</div>', $venue_details));
         }
     }
     return apply_filters('tribe_events_single_event_meta', $html);
 }
예제 #8
0
</a>
							</span>
							<?php 
        if ($canEdit) {
            echo TribeCommunityEvents::instance()->getEditButton($post, 'Edit', '<span class="edit wp-admin events-cal"> |', '</span> ');
        }
        if ($canDelete) {
            echo TribeCommunityEvents::instance()->getDeleteButton($post);
        }
        ?>
						</div><!-- .row-actions -->
						</td>

						<td>
						<?php 
        if (tribe_has_organizer($post->ID)) {
            $organizer_id = tribe_get_organizer_id($post->ID);
            if (current_user_can('edit_post', $organizer_id)) {
                echo '<a href="' . TribeCommunityEvents::instance()->getUrl('edit', $organizer_id, null, TribeEvents::ORGANIZER_POST_TYPE) . '">' . tribe_get_organizer($post->ID) . '</a>';
            } else {
                echo tribe_get_organizer($post->ID);
            }
        }
        ?>
						</td>

						<td>
						<?php 
        if (tribe_has_venue($post->ID)) {
            $venue_id = tribe_get_venue_id($post->ID);
            if (current_user_can('edit_post', $venue_id)) {