true, 'label' => 'Events' ]); register_post_type(self::VENUE_POST_TYPE, [ 'public' => true, 'label' => 'Venues' ]); register_post_type(self::ORGANIZER_POST_TYPE, [ 'public' => true, 'label' => 'Organizers' ]); } } } // Register post types when file is loaded if (function_exists('register_post_type')) { Tribe__Events__Main::registerPostType(); } // Mock TEC functions if they don't exist if (!function_exists('tribe_get_start_date')) { function tribe_get_start_date($event_id) { return get_post_meta($event_id, '_EventStartDate', true); } } if (!function_exists('tribe_get_end_date')) { function tribe_get_end_date($event_id) { return get_post_meta($event_id, '_EventEndDate', true); } } if (!function_exists('tribe_get_cost')) { function tribe_get_cost($event_id, $with_currency_symbol = false) { $cost = get_post_meta($event_id, '_EventCost', true); if ($with_currency_symbol) { $symbol = get_post_meta($event_id, '_EventCurrencySymbol', true) ?: '$'; return $symbol . $cost; } return $cost; } } if (!function_exists('tribe_event_is_all_day')) { function tribe_event_is_all_day($event_id) { return get_post_meta($event_id, '_EventAllDay', true) === 'yes'; } } if (!function_exists('tribe_is_recurring_event')) { function tribe_is_recurring_event($event_id) { return false; } } if (!function_exists('tribe_get_timezone')) { function tribe_get_timezone($event_id = null) { return get_option('timezone_string') ?: 'UTC'; } } if (!function_exists('tribe_get_venue_website_link')) { function tribe_get_venue_website_link($venue_id) { $url = get_post_meta($venue_id, '_VenueURL', true); return $url ? sprintf('%s', esc_url($url), esc_url($url)) : ''; } } if (!function_exists('tribe_get_organizer_website_link')) { function tribe_get_organizer_website_link($organizer_id) { $url = get_post_meta($organizer_id, '_OrganizerWebsite', true); return $url ? sprintf('%s', esc_url($url), esc_url($url)) : ''; } } if (!function_exists('tribe_get_venue')) { function tribe_get_venue($venue_id) { return get_post($venue_id); } } if (!function_exists('tribe_get_venue_details')) { function tribe_get_venue_details($venue_id) { return [ 'name' => get_the_title($venue_id), 'address' => get_post_meta($venue_id, '_VenueAddress', true), 'city' => get_post_meta($venue_id, '_VenueCity', true), 'state' => get_post_meta($venue_id, '_VenueState', true), 'zip' => get_post_meta($venue_id, '_VenueZip', true), 'country' => get_post_meta($venue_id, '_VenueCountry', true), 'phone' => get_post_meta($venue_id, '_VenuePhone', true), 'website' => get_post_meta($venue_id, '_VenueURL', true) ]; } } if (!function_exists('tribe_get_organizer')) { function tribe_get_organizer($organizer_id) { return get_post($organizer_id); } } if (!function_exists('tribe_get_organizer_details')) { function tribe_get_organizer_details($organizer_id) { return [ 'name' => get_the_title($organizer_id), 'phone' => get_post_meta($organizer_id, '_OrganizerPhone', true), 'email' => get_post_meta($organizer_id, '_OrganizerEmail', true), 'website' => get_post_meta($organizer_id, '_OrganizerWebsite', true) ]; } }