array( 'url' => 'http://tile.openstreetmap.org/{z}/{x}/{y}.png', 'requires_key' => false, 'nicename' => 'OpenStreetMap', 'attribution' => 'Map data © OpenStreetMap contributors' ), 'cloudmade' => array( 'url' => "http://{s}.tile.cloudmade.com/{api_key}/997/256/{z}/{x}/{y}.png", 'requires_key' => true, 'nicename' => 'CloudMade', 'attribution' => 'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © CloudMade' ) ); /*-------------------------------------------------------------------------------------- * * Constructor * - This function is called when the field class is initalized on each page. * - Here you can add filters / actions and setup any other functionality for your field * * @author Elliot Condon * @since 2.2.0 * *-------------------------------------------------------------------------------------*/ function __construct($parent) { // do not delete! parent::__construct($parent); // set name / title $this->name = 'leaflet_field'; $this->title = __('Leaflet Field'); $this->defaults = array( 'lat' => '55.606', 'lng' => '13.002', 'zoom_level' => 13, 'height' => 350, 'api_key' => '', 'map_provider' => 'openstreetmap' ); // settings // settings $this->settings = array( 'path' => $this->helpers_get_path( __FILE__ ), 'dir' => $this->helpers_get_dir( __FILE__ ), 'version' => '1.1.0' ); } /* * helpers_get_path * * @description: calculates the path (works for plugin / theme folders) * @since: 3.6 * @created: 30/01/13 */ function helpers_get_path( $file ) { return trailingslashit(dirname($file)); } /* * helpers_get_dir * * @description: calculates the directory (works for plugin / theme folders) * @since: 3.6 * @created: 30/01/13 */ function helpers_get_dir( $file ) { $dir = trailingslashit(dirname($file)); $count = 0; // sanitize for Win32 installs $dir = str_replace('\\' ,'/', $dir); // if file is in plugins folder $wp_plugin_dir = str_replace('\\' ,'/', WP_PLUGIN_DIR); $dir = str_replace($wp_plugin_dir, WP_PLUGIN_URL, $dir, $count); if( $count < 1 ) { // if file is in wp-content folder $wp_content_dir = str_replace('\\' ,'/', WP_CONTENT_DIR); $dir = str_replace($wp_content_dir, WP_CONTENT_URL, $dir, $count); } if( $count < 1 ) { // if file is in ??? folder $wp_dir = str_replace('\\' ,'/', ABSPATH); $dir = str_replace($wp_dir, site_url('/'), $dir); } return $dir; } /*-------------------------------------------------------------------------------------- * * create_options * - this function is called from core/field_meta_box.php to create extra options * for your field * * @params * - $key (int) - the $_POST obejct key required to save the options to the field * - $field (array) - the field object * * @author Elliot Condon * @since 2.2.0 * *-------------------------------------------------------------------------------------*/ function create_options($key, $field) { // defaults? $field = array_merge($this->defaults, $field); // Create Field Options HTML ?>

CloudMade.

parent->create_field(array( 'type' => 'text', 'name' => 'fields['.$key.'][api_key]', 'value' => $field['api_key'] )); ?>

parent->create_field(array( 'type' => 'number', 'name' => 'fields['.$key.'][zoom_level]', 'value' => $field['zoom_level'] )); ?>

parent->create_field(array( 'type' => 'number', 'name' => 'fields['.$key.'][lat]', 'value' => $field['lat'] )); ?>

parent->create_field(array( 'type' => 'number', 'name' => 'fields['.$key.'][lng]', 'value' => $field['lng'] )); ?>

parent->create_field(array( 'type' => 'number', 'name' => 'fields['.$key.'][height]', 'value' => $field['height'] )); ?> defaults, $field); // Build an unique id based on ACF's one. $pattern = array('/\[/', '/\]/'); $replace = array('_', ''); $uid = preg_replace($pattern, $replace, $field['name']); $field['id'] = $uid; // include the javascript include_once("js/input.js.php"); ?>
' id="field_" name="" data-zoom-level="" data-lat="" data-lng="" />
add_data( 'leaflet-ie', 'conditional', 'lte IE 8' ); wp_enqueue_style( 'icomoon', plugins_url( '/css/icomoon/style.css', __FILE__ ), array(), '1.0.0', 'all' ); wp_enqueue_style( 'leaflet-field', plugins_url( '/css/input.css', __FILE__ ), array( 'leaflet', 'icomoon' ), '1', 'all' ); } /*-------------------------------------------------------------------------------------- * * update_value * - this function is called when saving a post object that your field is assigned to. * the function will pass through the 3 parameters for you to use. * * @params * - $post_id (int) - usefull if you need to save extra data or manipulate the current * post object * - $field (array) - usefull if you need to manipulate the $value based on a field option * - $value (mixed) - the new value of your field. * * @author Elliot Condon * @since 2.2.0 * *-------------------------------------------------------------------------------------*/ function update_value($post_id, $field, $value) { // Note: This function can be removed if not used // do stuff with value // save value parent::update_value($post_id, $field, $value); } /*-------------------------------------------------------------------------------------- * * get_value * - called from the edit page to get the value of your field. This function is useful * if your field needs to collect extra data for your create_field() function. * * @params * - $post_id (int) - the post ID which your value is attached to * - $field (array) - the field object. * * @author Elliot Condon * @since 2.2.0 * *-------------------------------------------------------------------------------------*/ function get_value($post_id, $field) { // Note: This function can be removed if not used // get value $value = parent::get_value($post_id, $field); // format value // return value return $value; } /*-------------------------------------------------------------------------------------- * * get_value_for_api * - called from your template file when using the API functions (get_field, etc). * This function is useful if your field needs to format the returned value * * @params * - $post_id (int) - the post ID which your value is attached to * - $field (array) - the field object. * * @author Elliot Condon * @since 3.0.0 * *-------------------------------------------------------------------------------------*/ function get_value_for_api($post_id, $field) { // Note: This function can be removed if not used // get value $value = $this->get_value($post_id, $field); // format value $value = json_decode($value); // return value return $value; } } ?>