name = 'image_crop';
$this->title = __('Image - Custom crop');
$this->defaults = array(
// add default here to merge into your field.
// This makes life easy when creating the field options as you don't need to use any if( isset('') ) logic. eg:
//'preview_size' => 'thumbnail'
);
// settings
$this->settings = array(
'path' => $this->helpers_get_path(__FILE__),
'dir' => $this->helpers_get_dir(__FILE__),
'version' => '1.0.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
?>
defaults, $field);
*/
// perhaps use $field['preview_size'] to alter the markup?
// create Field HTML
?>
settings['dir'] . 'js/input.js', array('acf-input'), $this->settings['version']);
// scripts
wp_enqueue_script(array(
'acf-input-image_crop',
));
}
function admin_print_styles()
{
// Note: This function can be removed if not used
wp_register_style('acf-input-image_crop', $this->settings['dir'] . 'css/input.css', array('acf-input'), $this->settings['version']);
// styles
wp_enqueue_style(array(
'acf-input-image_crop',
));
}
/*--------------------------------------------------------------------------------------
*
* 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
// return value
return $value;
}
}
?>