Created
March 27, 2015 20:26
-
-
Save joshfeck/da5a4407e66e8d61addc to your computer and use it in GitHub Desktop.
Modification for the Diarise theme (WooThemes). Adds Event Espresso 4 events to the home page calendar.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// First part of the modification happens in the first loop | |
// The first loop starts after the comment that says: | |
//Improved Diarise get events query | |
// Before the query, you add a post_type query argument: | |
$query_args['post_type'] = array('post', 'espresso_events'); | |
// Now here's the original loop #1: | |
if ($the_query->have_posts()) : $count = 0; | |
while ($the_query->have_posts()) : $the_query->the_post(); | |
//add post to array | |
global $post; | |
$event_start_date = get_post_meta($post->ID,'event_start_date',true); | |
$event_end_date = get_post_meta($post->ID,'event_end_date',true); | |
if ($event_end_date == '') { $event_end_date = $event_start_date; } | |
if ( ( $event_start_date != '' ) && ( $event_end_date != '' ) ) { | |
$time_start = strtotime($event_start_date); | |
$time_end = strtotime($event_end_date); | |
$start_range = strtotime($woo_start_calendar_range); | |
$end_range = strtotime($woo_end_calendar_range); | |
if ( ( ( $time_start <= $start_range ) && ( $time_end >= $start_range ) ) || ( ( $time_start >= $start_range ) && ( $time_end <= $end_range ) ) || ( ( $time_start <= $end_range ) && ( $time_end >= $end_range ) ) ) { | |
$search_results[$post->ID] = array( 'ID' => $post->ID , 'start' => $time_start , 'end' => $time_end ); | |
} | |
} | |
endwhile; else: | |
//no posts | |
endif; | |
// Here's the modified loop #1 that adds the Event Espresso events: | |
if ($the_query->have_posts()) : $count = 0; | |
while ($the_query->have_posts()) : $the_query->the_post(); | |
//add post to array | |
global $post; | |
// Add Event Espresso events | |
if (get_post_type() == 'espresso_events' ){ | |
EE_Registry::instance()->load_helper( 'Event_View' ); | |
$event = EEH_Event_View::get_event( get_the_ID() ); | |
if ( $event instanceof EE_Event ) { | |
$event_start_date = espresso_event_date('m/d/Y', '', get_the_ID(), false); | |
$event_end_date = espresso_event_end_date('m/d/Y', '', get_the_ID(), false); | |
$event_start_date = date('m/d/Y', strtotime($event_start_date)); | |
$event_end_date = date('m/d/Y', strtotime($event_end_date)); | |
} | |
} else { | |
$event_start_date = get_post_meta($post->ID,'event_start_date',true); | |
$event_end_date = get_post_meta($post->ID,'event_end_date',true); | |
} | |
// End adding Event Espresso events | |
if ($event_end_date == '') { $event_end_date = $event_start_date; } | |
if ( ( $event_start_date != '' ) && ( $event_end_date != '' ) ) { | |
$time_start = strtotime($event_start_date); | |
$time_end = strtotime($event_end_date); | |
$start_range = strtotime($woo_start_calendar_range); | |
$end_range = strtotime($woo_end_calendar_range); | |
if ( ( ( $time_start <= $start_range ) && ( $time_end >= $start_range ) ) || ( ( $time_start >= $start_range ) && ( $time_end <= $end_range ) ) || ( ( $time_start <= $end_range ) && ( $time_end >= $end_range ) ) ) { | |
$search_results[$post->ID] = array( 'ID' => $post->ID , 'start' => $time_start , 'end' => $time_end ); | |
} | |
} | |
endwhile; else: | |
//no posts | |
endif; | |
// Later down the file, there's a second loop that actually displays the events on the calendar | |
// Here's the start of the original loop #2 | |
foreach ($event_results as $event_result) { | |
$query_args['post__in'] = array($event_result); | |
?> | |
<?php query_posts($query_args); ?> | |
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> | |
<?php | |
//Post Meta | |
$event_start_date = get_post_meta($post->ID,'event_start_date',true); | |
$event_end_date = get_post_meta($post->ID,'event_end_date',true); | |
$event_start_time = get_post_meta($post->ID,'event_start_time',true); | |
$event_end_time = get_post_meta($post->ID,'event_end_time',true); | |
$event_location = get_post_meta($post->ID,'event_location',true); | |
$maps_active = get_post_meta($post->ID,'woo_maps_enable',true); | |
// Here's the modified loop #2 that adds Event Espresso events: | |
foreach ($event_results as $event_result) { | |
$query_args['post__in'] = array($event_result); | |
?> | |
<?php query_posts($query_args); ?> | |
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> | |
<?php | |
//Post Meta | |
if (get_post_type() == 'espresso_events' ){ | |
EE_Registry::instance()->load_helper( 'Event_View' ); | |
$event = EEH_Event_View::get_event( get_the_ID() ); | |
if ( $event instanceof EE_Event ) { | |
$event_start_date = espresso_event_date('m/d/Y', '', get_the_ID(), false); | |
$event_end_date = espresso_event_end_date('m/d/Y', '', get_the_ID(), false); | |
$event_start_date = date('m/d/Y', strtotime($event_start_date)); | |
$event_end_date = date('m/d/Y', strtotime($event_end_date)); | |
$event_start_time = date('g:i', strtotime($event_start_date)); | |
$event_end_time = date('g:i', strtotime($event_end_date)); | |
$event_location = EEH_Venue_View::venue_name(); | |
} | |
} else { | |
$event_start_date = get_post_meta($post->ID,'event_start_date',true); | |
$event_end_date = get_post_meta($post->ID,'event_end_date',true); | |
$event_start_time = get_post_meta($post->ID,'event_start_time',true); | |
$event_end_time = get_post_meta($post->ID,'event_end_time',true); | |
$event_location = get_post_meta($post->ID,'event_location',true); | |
} | |
$maps_active = get_post_meta($post->ID,'woo_maps_enable',true); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment