0 ) ? true : false; return apply_filters( 'tribe_has_venue', $has_venue ); } /** * Get Venue * * Returns the event venue name * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * @param bool $with_link (deprecated in 2.0.1) * * @return string Venue Name */ function tribe_get_venue( $postId = null, $with_link = false ) { if ( $with_link ) { _deprecated_argument( __FUNCTION__, '2.0.1' ); } $postId = tribe_get_venue_id( $postId ); $venue = ( $postId > 0 ) ? esc_html( get_the_title( $postId ) ) : null; return apply_filters( 'tribe_get_venue', $venue ); } /** * Venue Link * * Returns or display the event Venue Name with a link to the venue * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * @param bool $display If true displays full html links around venue's name, if false returns just the link without displaying it * * @return string Venue if $display is set to false, void if it's set to true. */ function tribe_get_venue_link( $postId = null, $display = true ) { $url = ''; if ( $venue_id = tribe_get_venue_id( $postId ) ) { $url = esc_url( get_permalink( $venue_id ) ); } if ( $display && $url != '' ) { $venue_name = tribe_get_venue( $postId ); $link = '' . $venue_name . ''; } else { $link = $url; } $link = apply_filters( 'tribe_get_venue_link', $link, $postId, $display, $url ); if ( $display ) { echo $link; } else { return $link; } } /** * Country * * Returns the event country * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * * @return string Country */ function tribe_get_country( $postId = null ) { $postId = tribe_get_venue_id( $postId ); $output = esc_html( tribe_get_event_meta( $postId, '_VenueCountry', true ) ); return apply_filters( 'tribe_get_country', $output ); } /** * Full Address * * Returns the full address for the venue. Function uses the views/full-address.php template which you can override in your theme (including google microformats etc). * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * @param bool $includeVenueName * * @return string Formatted event address */ function tribe_get_full_address( $postId = null, $includeVenueName = false ) { $postId = tribe_get_venue_id( $postId ); $tribe_ecp = TribeEvents::instance(); return apply_filters( 'tribe_get_full_address', $tribe_ecp->fullAddress( $postId, $includeVenueName ) ); } /** * Address Test * * Returns true if any of the following exist: address, city, state/province (region), country or zip * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * * @return bool True if any part of an address exists */ function tribe_address_exists( $postId = null ) { if ( tribe_get_address( $postId ) || tribe_get_city( $postId ) || tribe_get_region( $postId ) || tribe_get_country( $postId ) || tribe_get_zip( $postId ) ) { return true; } else { return false; } } /** * Street Address * * Returns the venue street address * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * * @return string Street address */ function tribe_get_address( $postId = null ) { $postId = tribe_get_venue_id( $postId ); $output = esc_html( tribe_get_event_meta( $postId, '_VenueAddress', true ) ); return apply_filters( 'tribe_get_address', $output ); } /** * City * * Returns the venue city * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * * @return string City */ function tribe_get_city( $postId = null ) { $postId = tribe_get_venue_id( $postId ); $output = esc_html( tribe_get_event_meta( $postId, '_VenueCity', true ) ); return apply_filters( 'tribe_get_city', $output ); } /** * State or Province * * Returns the venue state or province * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * * @return string State * @todo Depricate tribe_get_stateprovince or tribe_get_region */ function tribe_get_stateprovince( $postId = null ) { $postId = tribe_get_venue_id( $postId ); $output = esc_html( tribe_get_event_meta( $postId, '_VenueStateProvince', true ) ); return apply_filters( 'tribe_get_stateprovince', $output ); } /** * State * * Returns the venue state * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * * @return string State */ function tribe_get_state( $postId = null ) { $postId = tribe_get_venue_id( $postId ); $output = esc_html( tribe_get_event_meta( $postId, '_VenueState', true ) ); return apply_filters( 'tribe_get_state', $output ); } /** * Province * * Returns the venue province * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * * @return string Province */ function tribe_get_province( $postId = null ) { $postId = tribe_get_venue_id( $postId ); $output = esc_html( tribe_get_event_meta( $postId, '_VenueProvince', true ) ); return apply_filters( 'tribe_get_province', $output ); } /** * Region * * Returns the state or province for US or non-US addresses (effectively the same thing as tribe_get_stateprovince()) * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * * @return string * @todo Depricate tribe_get_region or tribe_get_stateprovince */ function tribe_get_region( $postId = null ) { $postId = tribe_get_venue_id( $postId ); if ( tribe_get_event_meta( $postId, '_VenueStateProvince', true ) ) { $region = tribe_get_event_meta( $postId, '_VenueStateProvince', true ); } else { if ( tribe_get_country( $postId ) == __( 'United States', 'tribe-events-calendar' ) ) { $region = tribe_get_state( $postId ); } else { $region = tribe_get_province(); } } return apply_filters( 'tribe_get_region', $region ); } /** * Zip Code * * Returns the event zip code * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * * @return string Zip code */ function tribe_get_zip( $postId = null ) { $postId = tribe_get_venue_id( $postId ); $output = esc_html( tribe_get_event_meta( $postId, '_VenueZip', true ) ); return apply_filters( 'tribe_get_zip', $output ); } /** * Venue Phone Number * * Returns the venue phone number * * @param int $postId Can supply either event id or venue id, if none specified, current post is used * * @return string Phone number */ function tribe_get_phone( $postId = null ) { $postId = tribe_get_venue_id( $postId ); $output = esc_html( tribe_get_event_meta( $postId, '_VenuePhone', true ) ); return apply_filters( 'tribe_get_phone', $output ); } /** * Get all the venues * * @param bool $only_with_upcoming Only return venues with upcoming events attached to them. * @param $posts_per_page * @param bool $suppress_filters * * @return array An array of venue post objects. */ function tribe_get_venues( $only_with_upcoming = false, $posts_per_page = -1, $suppress_filters = true ) { $venues = get_posts( array( 'post_type' => TribeEvents::VENUE_POST_TYPE, 'posts_per_page' => $posts_per_page, 'suppress_filters' => $suppress_filters ) ); return $venues; } /** * Get the link for the venue website. * * @param null $post_id * @param null $label * * @return string Formatted link to the venue website */ function tribe_get_venue_website_link( $post_id = null, $label = null ) { $post_id = tribe_get_venue_id( $post_id ); $url = tribe_get_event_meta( $post_id, '_VenueURL', true ); if ( ! empty( $url ) ) { $label = is_null( $label ) ? $url : $label; if ( ! empty( $url ) ) { $parseUrl = parse_url( $url ); if ( empty( $parseUrl['scheme'] ) ) { $url = "http://$url"; } } $html = sprintf( '%s', $url, apply_filters( 'tribe_get_venue_website_link_target', 'self' ), apply_filters( 'tribe_get_venue_website_link_label', $label ) ); } else { $html = ''; } return apply_filters( 'tribe_get_venue_website_link', $html ); } }