/**
  * Replace featured images with the Eventbrite event logo.
  *
  * @access public
  *
  * @param  string $html Original unfiltered HTML for a featured image.
  * @param  int $post_id The current event ID.
  * @return string HTML <img> tag for the Eventbrite logo linked to the event single view.
  */
 public function filter_event_logo($html, $post_id)
 {
     // Are we dealing with an Eventbrite event?
     if (eventbrite_is_event()) {
         $html = '';
         // Get our event.
         $event = Eventbrite_Event::get_instance($post_id);
         // Does the event have a logo set?
         if (!empty($event->logo_url)) {
             // No need for a permalink on event single views.
             if (eventbrite_is_single()) {
                 $html = '<img src="' . esc_url($event->logo_url) . '" class="wp-post-image">';
             } else {
                 $html = sprintf('<a class="post-thumbnail" href="%1$s"><img src="%2$s" class="wp-post-image"></a>', esc_url(get_the_permalink()), esc_url($event->logo_url));
             }
         }
     }
     return $html;
 }
 /**
  * Adjust body classes when our Eventbrite templates are in use.
  *
  * @access public
  *
  * @param  array $classes Unfiltered body classes
  * @return array Filtered body classes
  */
 public function adjust_body_classes($classes)
 {
     // Check if we're loading an Eventbrite single view.
     if (eventbrite_is_single()) {
         $classes[] = 'single';
         $classes[] = 'single-event';
         $key = array_search('page', $classes);
         unset($classes[$key]);
     } elseif ('eventbrite-index.php' == get_post_meta(get_the_ID(), '_wp_page_template', true)) {
         $classes[] = 'archive';
         $classes[] = 'archive-eventbrite';
         foreach (array('page', 'singular') as $value) {
             $key = array_search($value, $classes);
             unset($classes[$key]);
         }
     }
     return $classes;
 }
示例#3
0
 /**
  * Output Eventbrite event information such as date, time, venue, and organizer
  */
 function writr_eventbrite_event_meta()
 {
     // Start with the event time.
     $time = sprintf('<li class="event-time"><span class="screen-reader-text">%s</span>%s</li>', esc_html__('Event date and time', 'writr'), eventbrite_event_time());
     // Add a venue name if available.
     $venue = '';
     if (!empty(eventbrite_event_venue()->name)) {
         $venue = sprintf('<li class="event-venue"><span class="screen-reader-text">%s</span><a class="event-venue-link url fn n" href="%s">%s</a></li>', esc_html__('Venue', 'writr'), esc_url(eventbrite_venue_get_archive_link()), esc_html(eventbrite_event_venue()->name));
     }
     // Add the organizer's name if available. Author-related functions are filtered to use the event's organizer.
     $organizer = '';
     if (!empty(eventbrite_event_organizer()->name)) {
         $organizer = sprintf('<li class="event-organizer"><span class="screen-reader-text">%s</span><a class="event-organizer-link url fn n" href="%s">%s</a></li>', esc_html__('Organizer', 'writr'), esc_url(get_author_posts_url(get_the_author_meta('ID'))), esc_html(get_the_author()));
     }
     // Add a contextual link to event details.
     if (eventbrite_is_single()) {
         // Link to event info on eventbrite.com.
         $url = add_query_arg(array('ref' => 'wporglink'), eventbrite_event_eb_url());
     } else {
         // Link to the event single view.
         $url = get_the_permalink();
     }
     $details = sprintf('<li class="event-details"><a class="event-details-link" href="%s">%s</a></li>', esc_url($url), esc_html__('Details', 'writr'));
     // Add an event Edit link.
     $edit = '';
     if (current_user_can('edit_posts')) {
         $url = add_query_arg(array('eid' => get_the_ID(), 'ref' => 'wporgedit'), 'https://eventbrite.com/edit');
         $edit = sprintf('<li class="event-edit"><a href="%s">%s</a></li>', esc_url($url), esc_html__('Edit', 'writr'));
     }
     // Assemble our HTML. Yugly.
     $html = sprintf('<ul class="clear">%1$s%2$s%3$s%4$s%5$s</ul>', $time, $venue, $organizer, $details, $edit);
     echo apply_filters('eventbrite_event_meta', $html, $time, $venue, $organizer, $details, $edit);
 }
示例#4
0
 /**
  * Output event information such as date, time, venue, and organizer
  */
 function eventbrite_event_meta()
 {
     // Determine our separator.
     $separator = apply_filters('eventbrite_meta_separator', '<span class="sep"> &middot; </span>');
     // Start our HTML output with the event time.
     $time = '<span class="event-time">' . eventbrite_event_time() . '</span>';
     // Add a venue name if available.
     $venue = '';
     if (!empty(eventbrite_event_venue()->name)) {
         $venue = sprintf('%s<span class="event-venue"><a class="event-venue-link url fn n" href="%s"><span class="event-venue-text">%s</span></a></span>', wp_kses($separator, array('span' => array('class' => array()))), esc_url(eventbrite_venue_get_archive_link()), esc_html(eventbrite_event_venue()->name));
     }
     // Add the organizer's name if available. Author-related functions are filtered to use the event's organizer.
     $organizer = '';
     if (!empty(eventbrite_event_organizer()->name)) {
         $organizer = sprintf('%s<span class="event-organizer"><a class="event-organizer-link url fn n" href="%s"><span class="event-organizer-text">%s</span></a></span>', wp_kses($separator, array('span' => array('class' => array()))), esc_url(get_author_posts_url(get_the_author_meta('ID'))), esc_html(get_the_author()));
     }
     // Add a contextual link to event details.
     if (eventbrite_is_single()) {
         // Link to event info on eventbrite.com.
         $url = add_query_arg(array('ref' => 'wporglink'), eventbrite_event_eb_url());
     } else {
         // Link to the event single view.
         $url = get_the_permalink();
     }
     $details = sprintf('%s<span class="event-details"><a class="event-details-link" href="%s"><span class="event-details-text">%s</span></a></span>', wp_kses($separator, array('span' => array('class' => array()))), esc_url($url), esc_html__('Details', 'eventbrite_api'));
     // Assemble our HTML. Yugly.
     $html = sprintf(_x('%1$s%2$s%3$s%4$s', '%1$s: time, %2$s: venue, %3$s: organizer, %4$s: event details (only on index views)', 'eventbrite-api'), $time, $venue, $organizer, $details);
     echo apply_filters('eventbrite_event_meta', $html, $time, $venue, $organizer, $details);
 }