<?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');
 }
Beispiel #3
0
    /**
     * 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;
     }
 }