Function Reference: geodir_event_loop_filter

Summary

This function has not been documented yet.

Source File

geodir_event_loop_filter() is located in geodir_event_manager/gdevents_functions.php [Line: 732]

Source Code

function geodir_event_loop_filter($query){
	
	global $wp_query,$geodir_post_type;
	
	if ( is_admin() && ( !defined('DOING_AJAX' ) || ( defined('DOING_AJAX') && !DOING_AJAX ) ) ) {
		return $query;
	}

    $geodir_post_type = geodir_get_current_posttype();

    $post_types = geodir_get_posttypes();
	
	if ( in_array($geodir_post_type, $post_types) && isset($query->query_vars['is_geodir_loop']) && $query->query_vars['is_geodir_loop'] && ($geodir_post_type=='gd_event' || get_query_var('geodir_event_date_calendar') || get_query_var('geodir_event_listing_filter'))) {
		
			add_filter('posts_fields', 'geodir_event_date_calendar_fields' ,1 );
			add_filter('posts_join', 'geodir_event_date_calendar_join',1);
			add_filter('geodir_posts_order_by_sort', 'geodir_event_posts_order_by_sort', 2, 3);
			add_filter('posts_where', 'geodir_event_loop_filter_where', 2);
			add_filter('posts_groupby', 'geodir_event_loop_filter_groupby',10,2 );
			add_filter('posts_orderby', 'geodir_event_posts_order_by_sort_distance', 10 );
	}else{
        remove_filter('posts_fields', 'geodir_event_date_calendar_fields' ,1 );
        remove_filter('posts_join', 'geodir_event_date_calendar_join',1);
        remove_filter('geodir_posts_order_by_sort', 'geodir_event_posts_order_by_sort', 2, 3);
        remove_filter('posts_where', 'geodir_event_loop_filter_where', 2);
        remove_filter('posts_groupby', 'geodir_event_loop_filter_groupby',10,2 );
        remove_filter('posts_orderby', 'geodir_event_posts_order_by_sort_distance', 10 );
    }
	
	return $query;
}