private function get_permalink($listing) { if ($this->_model['data_from'] === 'property_showcase' && empty(self::$_options['use_pdp_for_showcase_details'])) { $listing->permalink = get_permalink($listing->ID); } else { if ($this->_model['data_from'] === 'property_showcase') { $listing_id = 'PS' . $listing->ID; } else { $listing_id = $listing->id; } if (!empty($listing_id) && !empty($this->_model['property_details_page_url'])) { $listing->permalink = DispletRetsIdxUtilities::get_listing_permalink(array('page_url' => $this->_model['property_details_page_url'], 'state' => !empty($listing->state) ? $listing->state : 'CAN', 'city' => !empty($listing->city) ? $listing->city : 'City', 'zip' => !empty($listing->zip) ? $listing->zip : '00000', 'id' => $listing_id, 'address' => $listing->address, 'price' => $listing->list_price)); } } }
private static function _set_canonical() { if (self::$_model['is_property_details_page'] || self::$_model['is_property_update_page']) { self::$_model['canonical'] = self::$_model['listings'][0]->permalink; } else { if (self::$_model['is_partial_address_page']) { self::$_model['canonical'] = DispletRetsIdxUtilities::get_listing_permalink(array('page_url' => self::$_model['property_details_page_url'], 'state' => self::$_model['property_state'], 'city' => self::$_model['property_city'], 'zip' => self::$_model['property_zip'])); } } }
public static function redirect_to_parent() { if (self::$_model['is_property_details_page'] || self::$_model['is_property_update_page']) { if (empty(self::$_model['listings'][0])) { $url = DispletRetsIdxUtilities::get_listing_permalink(array('page_url' => self::$_model['property_details_page_url'], 'state' => self::$_model['property_state'], 'city' => self::$_model['property_city'], 'zip' => self::$_model['property_zip'])); $url .= '#listing=' . self::$_model['property_id'] . '/'; if (!empty(self::$_model['property_address'])) { $url .= 'address=' . self::$_model['property_address'] . '/'; } $url .= 'status=unavailable'; wp_safe_redirect($url, 301); } else { self::redirect_to_canonical(); } } else { if (self::$_model['is_partial_address_page'] && empty(self::$_model['meta']->count)) { $query_vars = array_filter(array(self::$_model['property_state'], self::$_model['property_city'], self::$_model['property_zip']), 'trim'); array_pop($query_vars); if (!empty($query_vars)) { $url = trailingslashit(self::$_model['property_details_page_url']) . implode('/', $query_vars); } else { $url = self::$_model['search_results_page_url']; } wp_safe_redirect($url, 301); } } }