public function display_fields($field) { extract($field); // Prepare country dropdowns if ($key == 'focus_country') { $country_html = ''; $country_codes = LocationsSearchGeneric::get_country_codes(); foreach ($country_codes as $country_code => $country_name) { $country_html .= sprintf('<option value="%s"%s>%s</option>', $country_code, selected($value, $country_code, false), $country_name); } } // Output fields switch ($field['key']) { case 'google_api_key': printf(' <input id="%s" type="text" name="%s" class="large-text" value="%s"> <p class="description"><a href="https://developers.google.com/maps/documentation/javascript/get-api-key#get-an-api-key" target="_blank">Generate a Google Maps Javascript API key</a> and enter it here.</p> ', esc_attr($id), esc_attr($name), esc_attr($value)); break; case 'permalinks_base': printf(' <input id="%s" type="text" name="%s" class="regular-text" value="%s"> <p class="description">Text to be used as a base for creating the urls for each location, e.g: ' . home_url('/') . '<strong>locations</strong>/location-name/</p> ', esc_attr($id), esc_attr($name), esc_attr($value)); break; case 'permalinks_category': printf(' <input id="%s" type="text" name="%s" class="regular-text" value="%s"> <p class="description">Text to be used to create the urls for each category, e.g: ' . home_url('/') . '<strong>locations-category</strong>/category-name/</p> ', esc_attr($id), esc_attr($name), esc_attr($value)); break; case 'focus_country': printf(' <select id="%s" name="%s"> <option value="">- Select a country -</option> %s </select> <p class="description">If you want to focus the map on a single country, select it here.</p> ', esc_attr($id), esc_attr($name), $country_html); break; case 'focus_country_strict': printf(' <label> <input type="radio" name="%1$s" value=""%2$s> Bias </label> <label> <input type="radio" name="%1$s" value="1"%3$s> Restrict </label> <p class="description">Select <strong>bias</strong> to give preference to the Focus Country on the map but still allow other countries to be displayed, or select <strong>restrict</strong> to strictly restrict the map only on the Focus Country.</p> ', esc_attr($name), checked(false, $value, false), checked(true, $value, false)); break; case 'map_styles': printf(' <textarea id="%s" name="%s" class="large-text" rows="10">%s</textarea> <p class="description">Use this <a href="https://mapstyle.withgoogle.com/" target="_blank">tool to generate custom map styles</a> and paste the JSON code here.</p> ', esc_attr($id), esc_attr($name), esc_textarea($value)); break; case 'map_marker': $description = 'Select an image to be used to create the markers on the map.'; case 'map_marker_active': if (!isset($description)) { $description = 'You can use a different image to represent active markers (when a user clicks on a specific location).'; } case 'map_cluster': if (!isset($description)) { $description = 'Image to be used when creating clusters (if they are enabled).'; } printf(' <div class="lsmediaupload" data-frame-title="%s" data-frame-button-text="%s"> <div class="lsmediaupload__preview"> %s </div> <input type="hidden" class="lsmediaupload__field" id="%s" name="%s" value="%s"> <input type="button" class="lsmediaupload__upload button" value="%s" data-label-replace="%s"> <input type="button" class="lsmediaupload__reset button hidden" value="%s"> </div> <p class="description">%s</p> ', 'Select an image', 'Use this image', wp_get_attachment_image(absint($value), 'medium'), esc_attr($id), esc_attr($name), esc_attr($value), 'Select File', 'Replace File', 'Remove File', $description); break; } }
public function display_text($post, $meta_key) { // Init vars $label = isset($this->meta_fields[$meta_key]['label']) ? $this->meta_fields[$meta_key]['label'] : $meta_key; $meta_value = get_post_meta($post->ID, $meta_key, true); // Default country if ($meta_key == 'country' && empty($meta_value)) { $meta_value = LocationsSearchGeneric::get_country_name(LocationsSearchSettings::get('focus_country')); } // Output printf(' <div class="lsedit__column"> <div class="field-box %1$s_%2$s-box"> <label for="%1$s_%2$s">%3$s</label> <input type="text" id="%1$s_%2$s" name="%2$s" value="%4$s" size="25"> </div> </div>', $this->box_id, $meta_key, $label, esc_attr($meta_value)); }
public static function get_formatted_address($post) { $meta_keys = array('address', 'address2', 'suburb', 'state', 'postcode', 'country'); foreach ($meta_keys as $meta_key) { ${$meta_key} = trim(esc_html(get_post_meta($post->ID, $meta_key, true))); } $focus_country = LocationsSearchGeneric::get_country_name(LocationsSearchSettings::get('focus_country')); if ($country == $focus_country) { $country = ''; } $address_line_1 = $address; $address_line_2 = $address2; $address_line_3 = implode(', ', array_filter(array($suburb, $state, $postcode, $country))); $formatted_address = implode('<br>', array_filter(array($address_line_1, $address_line_2, $address_line_3))); return $formatted_address; }