Ejemplo n.º 1
0
 /**
  * Fetches the JSON-LD data for this type of object
  *
  * @param  int|WP_Post|null $post The post/venue
  * @param  array  $args
  * @return array
  */
 public function get_data($post = null, $args = array('context' => false))
 {
     $data = parent::get_data($post, $args);
     // If we have an Empty data we just skip
     if (empty($data)) {
         return array();
     }
     // Fetch first key
     $post_id = key($data);
     // Fetch first Value
     $data = reset($data);
     $data->address = array();
     $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) array('@type' => 'GeoCoordinates', 'latitude' => $geo['lat'], 'longitude' => $geo['lng']);
     }
     $data->telephone = tribe_get_phone($post_id);
     $data->sameAs = tribe_get_venue_website_url($post_id);
     return array($post_id => $data);
 }
Ejemplo n.º 2
0
 /**
  * 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) || tribe_is_venue_overwrite($postId) && tribe_get_coordinates($postId)) {
         return true;
     } else {
         return false;
     }
 }