/** * get_event * attempts to retrieve an EE_Event object any way it can * * @access public * @param int $EVT_ID * @return object */ public static function get_event($EVT_ID = 0) { $EVT_ID = $EVT_ID instanceof WP_Post ? $EVT_ID->ID : absint($EVT_ID); // do we already have the Event you are looking for? if (EEH_Event_View::$_event instanceof EE_Event && $EVT_ID && EEH_Event_View::$_event->ID() === $EVT_ID) { return EEH_Event_View::$_event; } EEH_Event_View::$_event = NULL; // international newspaper? global $post; // if this is being called from an EE_Event post, then we can just grab the attached EE_Event object if (isset($post->post_type) && $post->post_type == 'espresso_events' || $EVT_ID) { // d( $post ); // grab the event we're looking for if (isset($post->EE_Event) && ($EVT_ID == 0 || $EVT_ID == $post->ID)) { EEH_Event_View::$_event = $post->EE_Event; // d( EEH_Event_View::$_event ); } // now if we STILL do NOT have an EE_Event model object, BUT we have an Event ID... if (!EEH_Event_View::$_event instanceof EE_Event && $EVT_ID) { // sigh... pull it from the db EEH_Event_View::$_event = EEM_Event::instance()->get_one_by_ID($EVT_ID); // d( EEH_Event_View::$_event ); } } return EEH_Event_View::$_event; }