false ] ) { $data = parent::get_data( $post, $args ); // If we have an Empty data we just skip if ( empty( $data ) ) { return []; } // Fetch first key $post_id = key( $data ); // Fetch first Value $data = reset( $data ); $data->address = []; $data->address['@type'] = 'PostalAddress'; $data->address['streetAddress'] = tribe_get_address( $post_id ); $data->address['addressLocality'] = tribe_get_city( $post_id ); $data->address['addressRegion'] = tribe_get_region( $post_id ); $data->address['postalCode'] = tribe_get_zip( $post_id ); $data->address['addressCountry'] = tribe_get_country( $post_id ); // Filter empty entries and convert to object $data->address = (object) array_filter( $data->address ); $geo = tribe_get_coordinates( $post_id ); if ( ! empty( $geo['lat'] ) && ! empty( $geo['lng'] ) ) { $data->geo = (object) [ '@type' => 'GeoCoordinates', 'latitude' => $geo['lat'], 'longitude' => $geo['lng'], ]; } $data->telephone = tribe_get_phone( $post_id ); $data->sameAs = tribe_get_venue_website_url( $post_id ); $data = $this->apply_object_data_filter( $data, $args, $post ); return [ $post_id => $data ]; } /** * Get a link to the event * * @since 4.5.10 * * @param int|WP_Post $post The Post Object or ID * * @return false|string Link to the event or false */ protected function get_link( $post ) { // @todo [BTRIA-591]: Move this logic to Pro once #33734 is handled. if ( class_exists( 'Tribe__Events__Pro__Main' ) ) { $link = tribe_get_venue_link( $post, false ); } else { $link = false; } return $link; } }