<?php /** * The template for displaying event tag archives. * * Override this template by copying it to yourtheme/taxonomy-event-tag.php * * @author Digital Factory * @package Events Maker/Templates * @since 1.1.0 */ if (!defined('ABSPATH')) { exit; } // Exit if accessed directly em_get_template('archive-event.php');
function em_display_single_event_google_map() { em_get_template('single-event/google-map.php'); }
/** * Events list shortcode. */ public function events_shortcode($args) { $defaults = array('start_after' => '', 'start_before' => '', 'end_after' => '', 'end_before' => '', 'ondate' => '', 'date_range' => 'between', 'date_type' => 'all', 'ticket_type' => 'all', 'show_past_events' => Events_Maker()->options['general']['show_past_events'], 'show_occurrences' => Events_Maker()->options['general']['show_occurrences'], 'number_of_events' => get_option('posts_per_page'), 'featured_only' => false, 'disable_pagination' => false, 'offset' => '', 'categories' => '', 'locations' => '', 'organizers' => '', 'orderby' => 'start', 'order' => 'asc', 'author' => '', 'style' => 'loop'); // parse arguments $args = shortcode_atts($defaults, $args); // makes strings $args['start_after'] = (string) $args['start_after']; $args['start_before'] = (string) $args['start_before']; $args['end_after'] = (string) $args['end_after']; $args['end_before'] = (string) $args['end_before']; $args['ondate'] = (string) $args['ondate']; $args['orderby'] = (string) $args['orderby']; $args['order'] = (string) $args['order']; $args['categories'] = (string) $args['categories']; $args['locations'] = (string) $args['locations']; $args['organizers'] = (string) $args['organizers']; // valid date range? if (!in_array($args['date_range'], array('between', 'outside'), true)) { $args['date_range'] = $defaults['date_range']; } // valid date type? if (!in_array($args['date_type'], array('all', 'all_day', 'not_all_day'), true)) { $args['date_type'] = $defaults['date_type']; } // valid ticket type? if (!in_array($args['ticket_type'], array('all', 'free', 'paid'), true)) { $args['ticket_type'] = $defaults['ticket_type']; } $authors = $users = array(); if (trim($args['author']) !== '') { $users = explode(',', $args['author']); } if (!empty($users)) { foreach ($users as $author) { $authors[] = (int) $author; } // remove possible duplicates $events_args['author__in'] = array_unique($authors); } // valid style? if (!in_array($args['style'], array('loop', 'widget'), true)) { $args['style'] = $defaults['style']; } if ($args['style'] == 'widget') { $template = 'content-widget-event.php'; } else { $template = 'content-event.php'; } // set new arguments $events_args['event_start_after'] = $args['start_after']; $events_args['event_start_before'] = $args['start_before']; $events_args['event_end_after'] = $args['end_after']; $events_args['event_end_before'] = $args['end_before']; $events_args['event_ondate'] = $args['ondate']; $events_args['event_date_range'] = $args['date_range']; $events_args['event_date_type'] = $args['date_type']; $events_args['event_ticket_type'] = $args['ticket_type']; $events_args['event_show_past_events'] = (bool) (int) $args['show_past_events']; $events_args['event_show_occurrences'] = (bool) (int) $args['show_occurrences']; $events_args['event_show_featured'] = (bool) (int) $args['featured_only']; $events_args['orderby'] = (string) $args['orderby']; $events_args['order'] = (string) $args['order']; $events_args['post_type'] = 'event'; $events_args['suppress_filters'] = false; $events_args['posts_per_page'] = (int) $args['number_of_events']; $events_args['offset'] = (int) $args['offset']; $events_args['paged'] = get_query_var('paged') ? get_query_var('paged') : 1; if (!empty($args['categories'])) { $events_args['tax_query'][] = array('taxonomy' => 'event-category', 'field' => 'id', 'terms' => explode(',', $args['categories']), 'include_children' => false, 'operator' => 'IN'); } if (!empty($args['locations'])) { $events_args['tax_query'][] = array('taxonomy' => 'event-location', 'field' => 'id', 'terms' => explode(',', $args['locations']), 'include_children' => false, 'operator' => 'IN'); } if (!empty($args['organizers'])) { $events_args['tax_query'][] = array('taxonomy' => 'event-organizer', 'field' => 'id', 'terms' => explode(',', $args['organizers']), 'include_children' => false, 'operator' => 'IN'); } global $wp_query; // replace global wp_query with events query $temp_query = $wp_query; $wp_query = new WP_Query($events_args); if ($wp_query->have_posts()) { ob_start(); foreach ($wp_query->posts as $post) { setup_postdata($post); em_get_template($template, array($post, $args)); } wp_reset_postdata(); } else { ob_start(); ?> <article id="post-0" class="post no-results not-found"> <div class="entry-content"> <p><?php _e('Apologies, but no events were found.', 'events-maker'); ?> </p> </div> </article> <?php } // display pagination if ((bool) (int) $args['disable_pagination'] != true) { em_paginate_links(); } $html = ob_get_contents(); ob_end_clean(); // restore original query $wp_query = $temp_query; return apply_filters('em_shortcode_events', $html); }
function em_get_search_form($echo = true, $args = array()) { // get events page link if (($page_id = em_get_page_id('events')) != 0) { $link = get_permalink($page_id); } else { $link = get_post_type_archive('event'); } $defaults = array('title' => __('Events Search', 'events-maker'), 'link' => esc_url($link), 'show_string_input' => true, 'string_input_placeholder' => __('Enter event name...', 'events-maker'), 'show_date_input' => true, 'start_date_placeholder' => __('Select start date...', 'events-maker'), 'end_date_placeholder' => __('Select end date...', 'events-maker'), 'show_event_categories' => true, 'show_event_locations' => true, 'show_event_organizers' => true, 'show_event_tags' => true); $args = apply_filters('em_get_search_form_args', wp_parse_args($args, $defaults)); ob_start(); em_get_template('searchform-event.php', $args); $html = ob_get_contents(); ob_end_clean(); if ($echo === true) { echo $html; } else { return $html; } }