[
  {
    "path": ".gitignore",
    "content": "# OS generated files #\n######################\n.DS_Store\n.DS_Store?\n._*\n.Spotlight-V100\n.Trashes\nehthumbs.db\nThumbs.db\n"
  },
  {
    "path": "README.md",
    "content": "# ACF Field Type Template (Deprecated)\n\nThis is an archived repository for the ACF Field Type Template for ACF v4 and V5. A new field type template for ACF v6 is now available at https://github.com/AdvancedCustomFields/acf-example-field-type.\n\nLooking for documentation? Please read the [Creating a new field type guide](https://www.advancedcustomfields.com/resources/creating-a-new-field-type/).\n"
  },
  {
    "path": "acf-FIELD-NAME/README.md",
    "content": "# ACF FIELD_LABEL Field\n\nWelcome to the Advanced Custom Fields FIELD_LABEL repository on Github.\n\nEXTENDED_DESCRIPTION"
  },
  {
    "path": "acf-FIELD-NAME/acf-FIELD-NAME.php",
    "content": "<?php\n\n/*\nPlugin Name: Advanced Custom Fields: FIELD_LABEL\nPlugin URI: PLUGIN_URL\nDescription: SHORT_DESCRIPTION\nVersion: 1.0.0\nAuthor: AUTHOR_NAME\nAuthor URI: AUTHOR_URL\nLicense: GPLv2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\n*/\n\n// exit if accessed directly\nif( ! defined( 'ABSPATH' ) ) exit;\n\n\n// check if class already exists\nif( !class_exists('NAMESPACE_acf_plugin_FIELD_NAME') ) :\n\nclass NAMESPACE_acf_plugin_FIELD_NAME {\n\t\n\t// vars\n\tvar $settings;\n\t\n\t\n\t/*\n\t*  __construct\n\t*\n\t*  This function will setup the class functionality\n\t*\n\t*  @type\tfunction\n\t*  @date\t17/02/2016\n\t*  @since\t1.0.0\n\t*\n\t*  @param\tvoid\n\t*  @return\tvoid\n\t*/\n\t\n\tfunction __construct() {\n\t\t\n\t\t// settings\n\t\t// - these will be passed into the field class.\n\t\t$this->settings = array(\n\t\t\t'version'\t=> '1.0.0',\n\t\t\t'url'\t\t=> plugin_dir_url( __FILE__ ),\n\t\t\t'path'\t\t=> plugin_dir_path( __FILE__ )\n\t\t);\n\t\t\n\t\t\n\t\t// include field\n\t\tadd_action('acf/include_field_types', \tarray($this, 'include_field')); // v5\n\t\tadd_action('acf/register_fields', \t\tarray($this, 'include_field')); // v4\n\t}\n\t\n\t\n\t/*\n\t*  include_field\n\t*\n\t*  This function will include the field type class\n\t*\n\t*  @type\tfunction\n\t*  @date\t17/02/2016\n\t*  @since\t1.0.0\n\t*\n\t*  @param\t$version (int) major ACF version. Defaults to false\n\t*  @return\tvoid\n\t*/\n\t\n\tfunction include_field( $version = false ) {\n\t\t\n\t\t// support empty $version\n\t\tif( !$version ) $version = 4;\n\t\t\n\t\t\n\t\t// load textdomain\n\t\tload_plugin_textdomain( 'TEXTDOMAIN', false, plugin_basename( dirname( __FILE__ ) ) . '/lang' ); \n\t\t\n\t\t\n\t\t// include\n\t\tinclude_once('fields/class-NAMESPACE-acf-field-FIELD-NAME-v' . $version . '.php');\n\t}\n\t\n}\n\n\n// initialize\nnew NAMESPACE_acf_plugin_FIELD_NAME();\n\n\n// class_exists check\nendif;\n\t\n?>"
  },
  {
    "path": "acf-FIELD-NAME/assets/README.md",
    "content": "# assets directory\n\nUse this directory to store asset files such as CSS, JS and images.\n\nThis directory can be removed if not used.\n"
  },
  {
    "path": "acf-FIELD-NAME/assets/css/README.md",
    "content": "# CSS directory\n\nUse this directory to store CSS files.\n\nThis directory can be removed if not used.\n"
  },
  {
    "path": "acf-FIELD-NAME/assets/css/input.css",
    "content": ""
  },
  {
    "path": "acf-FIELD-NAME/assets/images/README.md",
    "content": "# Images directory\n\nUse this directory to store images.\n\nThis directory can be removed if not used.\n"
  },
  {
    "path": "acf-FIELD-NAME/assets/js/README.md",
    "content": "# JS directory\n\nUse this directory to store JS files.\n\nThis directory can be removed if not used.\n"
  },
  {
    "path": "acf-FIELD-NAME/assets/js/input.js",
    "content": "(function($){\n\t\n\t\n\t/**\n\t*  initialize_field\n\t*\n\t*  This function will initialize the $field.\n\t*\n\t*  @date\t30/11/17\n\t*  @since\t5.6.5\n\t*\n\t*  @param\tn/a\n\t*  @return\tn/a\n\t*/\n\t\n\tfunction initialize_field( $field ) {\n\t\t\n\t\t//$field.doStuff();\n\t\t\n\t}\n\t\n\t\n\tif( typeof acf.add_action !== 'undefined' ) {\n\t\n\t\t/*\n\t\t*  ready & append (ACF5)\n\t\t*\n\t\t*  These two events are called when a field element is ready for initizliation.\n\t\t*  - ready: on page load similar to $(document).ready()\n\t\t*  - append: on new DOM elements appended via repeater field or other AJAX calls\n\t\t*\n\t\t*  @param\tn/a\n\t\t*  @return\tn/a\n\t\t*/\n\t\t\n\t\tacf.add_action('ready_field/type=FIELD_NAME', initialize_field);\n\t\tacf.add_action('append_field/type=FIELD_NAME', initialize_field);\n\t\t\n\t\t\n\t} else {\n\t\t\n\t\t/*\n\t\t*  acf/setup_fields (ACF4)\n\t\t*\n\t\t*  These single event is called when a field element is ready for initizliation.\n\t\t*\n\t\t*  @param\tevent\t\tan event object. This can be ignored\n\t\t*  @param\telement\t\tAn element which contains the new HTML\n\t\t*  @return\tn/a\n\t\t*/\n\t\t\n\t\t$(document).on('acf/setup_fields', function(e, postbox){\n\t\t\t\n\t\t\t// find all relevant fields\n\t\t\t$(postbox).find('.field[data-field_type=\"FIELD_NAME\"]').each(function(){\n\t\t\t\t\n\t\t\t\t// initialize\n\t\t\t\tinitialize_field( $(this) );\n\t\t\t\t\n\t\t\t});\n\t\t\n\t\t});\n\t\n\t}\n\n})(jQuery);\n"
  },
  {
    "path": "acf-FIELD-NAME/fields/class-NAMESPACE-acf-field-FIELD-NAME-v4.php",
    "content": "<?php\n\n// exit if accessed directly\nif( ! defined( 'ABSPATH' ) ) exit;\n\n\n// check if class already exists\nif( !class_exists('NAMESPACE_acf_field_FIELD_NAME') ) :\n\n\nclass NAMESPACE_acf_field_FIELD_NAME extends acf_field {\n\t\n\t// vars\n\tvar $settings, // will hold info such as dir / path\n\t\t$defaults; // will hold default field options\n\t\t\n\t\t\n\t/*\n\t*  __construct\n\t*\n\t*  Set name / label needed for actions / filters\n\t*\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*/\n\t\n\tfunction __construct( $settings )\n\t{\n\t\t// vars\n\t\t$this->name = 'FIELD_NAME';\n\t\t$this->label = __('FIELD_LABEL');\n\t\t$this->category = __(\"Basic\",'TEXTDOMAIN'); // Basic, Content, Choice, etc\n\t\t$this->defaults = array(\n\t\t\t// add default here to merge into your field. \n\t\t\t// This makes life easy when creating the field options as you don't need to use any if( isset('') ) logic. eg:\n\t\t\t//'preview_size' => 'thumbnail'\n\t\t);\n\t\t\n\t\t\n\t\t// do not delete!\n    \tparent::__construct();\n    \t\n    \t\n    \t// settings\n\t\t$this->settings = $settings;\n\n\t}\n\t\n\t\n\t/*\n\t*  create_options()\n\t*\n\t*  Create extra options for your field. This is rendered when editing a field.\n\t*  The value of $field['name'] can be used (like below) to save extra data to the $field\n\t*\n\t*  @type\taction\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$field\t- an array holding all the field's data\n\t*/\n\t\n\tfunction create_options( $field )\n\t{\n\t\t// defaults?\n\t\t/*\n\t\t$field = array_merge($this->defaults, $field);\n\t\t*/\n\t\t\n\t\t// key is needed in the field names to correctly save the data\n\t\t$key = $field['name'];\n\t\t\n\t\t\n\t\t// Create Field Options HTML\n\t\t?>\n<tr class=\"field_option field_option_<?php echo $this->name; ?>\">\n\t<td class=\"label\">\n\t\t<label><?php _e(\"Preview Size\",'TEXTDOMAIN'); ?></label>\n\t\t<p class=\"description\"><?php _e(\"Thumbnail is advised\",'TEXTDOMAIN'); ?></p>\n\t</td>\n\t<td>\n\t\t<?php\n\t\t\n\t\tdo_action('acf/create_field', array(\n\t\t\t'type'\t\t=>\t'radio',\n\t\t\t'name'\t\t=>\t'fields['.$key.'][preview_size]',\n\t\t\t'value'\t\t=>\t$field['preview_size'],\n\t\t\t'layout'\t=>\t'horizontal',\n\t\t\t'choices'\t=>\tarray(\n\t\t\t\t'thumbnail' => __('Thumbnail', 'TEXTDOMAIN'),\n\t\t\t\t'something_else' => __('Something Else', 'TEXTDOMAIN'),\n\t\t\t)\n\t\t));\n\t\t\n\t\t?>\n\t</td>\n</tr>\n\t\t<?php\n\t\t\n\t}\n\t\n\t\n\t/*\n\t*  create_field()\n\t*\n\t*  Create the HTML interface for your field\n\t*\n\t*  @param\t$field - an array holding all the field's data\n\t*\n\t*  @type\taction\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*/\n\t\n\tfunction create_field( $field )\n\t{\n\t\t// defaults?\n\t\t/*\n\t\t$field = array_merge($this->defaults, $field);\n\t\t*/\n\t\t\n\t\t// perhaps use $field['preview_size'] to alter the markup?\n\t\t\n\t\t\n\t\t// create Field HTML\n\t\t?>\n\t\t<div>\n\t\t\t\n\t\t</div>\n\t\t<?php\n\t}\n\t\n\t\n\t/*\n\t*  input_admin_enqueue_scripts()\n\t*\n\t*  This action is called in the admin_enqueue_scripts action on the edit screen where your field is created.\n\t*  Use this action to add CSS + JavaScript to assist your create_field() action.\n\t*\n\t*  $info\thttp://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts\n\t*  @type\taction\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*/\n\n\tfunction input_admin_enqueue_scripts()\n\t{\n\t\t// Note: This function can be removed if not used\n\t\t\n\t\t\n\t\t// vars\n\t\t$url = $this->settings['url'];\n\t\t$version = $this->settings['version'];\n\t\t\n\t\t\n\t\t// register & include JS\n\t\twp_register_script('TEXTDOMAIN', \"{$url}assets/js/input.js\", array('acf-input'), $version);\n\t\twp_enqueue_script('TEXTDOMAIN');\n\t\t\n\t\t\n\t\t// register & include CSS\n\t\twp_register_style('TEXTDOMAIN', \"{$url}assets/css/input.css\", array('acf-input'), $version);\n\t\twp_enqueue_style('TEXTDOMAIN');\n\t\t\n\t}\n\t\n\t\n\t/*\n\t*  input_admin_head()\n\t*\n\t*  This action is called in the admin_head action on the edit screen where your field is created.\n\t*  Use this action to add CSS and JavaScript to assist your create_field() action.\n\t*\n\t*  @info\thttp://codex.wordpress.org/Plugin_API/Action_Reference/admin_head\n\t*  @type\taction\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*/\n\n\tfunction input_admin_head()\n\t{\n\t\t// Note: This function can be removed if not used\n\t}\n\t\n\t\n\t/*\n\t*  field_group_admin_enqueue_scripts()\n\t*\n\t*  This action is called in the admin_enqueue_scripts action on the edit screen where your field is edited.\n\t*  Use this action to add CSS + JavaScript to assist your create_field_options() action.\n\t*\n\t*  $info\thttp://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts\n\t*  @type\taction\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*/\n\n\tfunction field_group_admin_enqueue_scripts()\n\t{\n\t\t// Note: This function can be removed if not used\n\t}\n\n\t\n\t/*\n\t*  field_group_admin_head()\n\t*\n\t*  This action is called in the admin_head action on the edit screen where your field is edited.\n\t*  Use this action to add CSS and JavaScript to assist your create_field_options() action.\n\t*\n\t*  @info\thttp://codex.wordpress.org/Plugin_API/Action_Reference/admin_head\n\t*  @type\taction\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*/\n\n\tfunction field_group_admin_head()\n\t{\n\t\t// Note: This function can be removed if not used\n\t}\n\n\n\t/*\n\t*  load_value()\n\t*\n\t\t*  This filter is applied to the $value after it is loaded from the db\n\t*\n\t*  @type\tfilter\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$value - the value found in the database\n\t*  @param\t$post_id - the $post_id from which the value was loaded\n\t*  @param\t$field - the field array holding all the field options\n\t*\n\t*  @return\t$value - the value to be saved in the database\n\t*/\n\t\n\tfunction load_value( $value, $post_id, $field )\n\t{\n\t\t// Note: This function can be removed if not used\n\t\treturn $value;\n\t}\n\t\n\t\n\t/*\n\t*  update_value()\n\t*\n\t*  This filter is applied to the $value before it is updated in the db\n\t*\n\t*  @type\tfilter\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$value - the value which will be saved in the database\n\t*  @param\t$post_id - the $post_id of which the value will be saved\n\t*  @param\t$field - the field array holding all the field options\n\t*\n\t*  @return\t$value - the modified value\n\t*/\n\t\n\tfunction update_value( $value, $post_id, $field )\n\t{\n\t\t// Note: This function can be removed if not used\n\t\treturn $value;\n\t}\n\t\n\t\n\t/*\n\t*  format_value()\n\t*\n\t*  This filter is applied to the $value after it is loaded from the db and before it is passed to the create_field action\n\t*\n\t*  @type\tfilter\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$value\t- the value which was loaded from the database\n\t*  @param\t$post_id - the $post_id from which the value was loaded\n\t*  @param\t$field\t- the field array holding all the field options\n\t*\n\t*  @return\t$value\t- the modified value\n\t*/\n\t\n\tfunction format_value( $value, $post_id, $field )\n\t{\n\t\t// defaults?\n\t\t/*\n\t\t$field = array_merge($this->defaults, $field);\n\t\t*/\n\t\t\n\t\t// perhaps use $field['preview_size'] to alter the $value?\n\t\t\n\t\t\n\t\t// Note: This function can be removed if not used\n\t\treturn $value;\n\t}\n\t\n\t\n\t/*\n\t*  format_value_for_api()\n\t*\n\t*  This filter is applied to the $value after it is loaded from the db and before it is passed back to the API functions such as the_field\n\t*\n\t*  @type\tfilter\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$value\t- the value which was loaded from the database\n\t*  @param\t$post_id - the $post_id from which the value was loaded\n\t*  @param\t$field\t- the field array holding all the field options\n\t*\n\t*  @return\t$value\t- the modified value\n\t*/\n\t\n\tfunction format_value_for_api( $value, $post_id, $field )\n\t{\n\t\t// defaults?\n\t\t/*\n\t\t$field = array_merge($this->defaults, $field);\n\t\t*/\n\t\t\n\t\t// perhaps use $field['preview_size'] to alter the $value?\n\t\t\n\t\t\n\t\t// Note: This function can be removed if not used\n\t\treturn $value;\n\t}\n\t\n\t\n\t/*\n\t*  load_field()\n\t*\n\t*  This filter is applied to the $field after it is loaded from the database\n\t*\n\t*  @type\tfilter\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$field - the field array holding all the field options\n\t*\n\t*  @return\t$field - the field array holding all the field options\n\t*/\n\t\n\tfunction load_field( $field )\n\t{\n\t\t// Note: This function can be removed if not used\n\t\treturn $field;\n\t}\n\t\n\t\n\t/*\n\t*  update_field()\n\t*\n\t*  This filter is applied to the $field before it is saved to the database\n\t*\n\t*  @type\tfilter\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$field - the field array holding all the field options\n\t*  @param\t$post_id - the field group ID (post_type = acf)\n\t*\n\t*  @return\t$field - the modified field\n\t*/\n\n\tfunction update_field( $field, $post_id )\n\t{\n\t\t// Note: This function can be removed if not used\n\t\treturn $field;\n\t}\n\n}\n\n\n// initialize\nnew NAMESPACE_acf_field_FIELD_NAME( $this->settings );\n\n\n// class_exists check\nendif;\n\n?>"
  },
  {
    "path": "acf-FIELD-NAME/fields/class-NAMESPACE-acf-field-FIELD-NAME-v5.php",
    "content": "<?php\n\n// exit if accessed directly\nif( ! defined( 'ABSPATH' ) ) exit;\n\n\n// check if class already exists\nif( !class_exists('NAMESPACE_acf_field_FIELD_NAME') ) :\n\n\nclass NAMESPACE_acf_field_FIELD_NAME extends acf_field {\n\t\n\t\n\t/*\n\t*  __construct\n\t*\n\t*  This function will setup the field type data\n\t*\n\t*  @type\tfunction\n\t*  @date\t5/03/2014\n\t*  @since\t5.0.0\n\t*\n\t*  @param\tn/a\n\t*  @return\tn/a\n\t*/\n\t\n\tfunction __construct( $settings ) {\n\t\t\n\t\t/*\n\t\t*  name (string) Single word, no spaces. Underscores allowed\n\t\t*/\n\t\t\n\t\t$this->name = 'FIELD_NAME';\n\t\t\n\t\t\n\t\t/*\n\t\t*  label (string) Multiple words, can include spaces, visible when selecting a field type\n\t\t*/\n\t\t\n\t\t$this->label = __('FIELD_LABEL', 'TEXTDOMAIN');\n\t\t\n\t\t\n\t\t/*\n\t\t*  category (string) basic | content | choice | relational | jquery | layout | CUSTOM GROUP NAME\n\t\t*/\n\t\t\n\t\t$this->category = 'basic';\n\t\t\n\t\t\n\t\t/*\n\t\t*  defaults (array) Array of default settings which are merged into the field object. These are used later in settings\n\t\t*/\n\t\t\n\t\t$this->defaults = array(\n\t\t\t'font_size'\t=> 14,\n\t\t);\n\t\t\n\t\t\n\t\t/*\n\t\t*  l10n (array) Array of strings that are used in JavaScript. This allows JS strings to be translated in PHP and loaded via:\n\t\t*  var message = acf._e('FIELD_NAME', 'error');\n\t\t*/\n\t\t\n\t\t$this->l10n = array(\n\t\t\t'error'\t=> __('Error! Please enter a higher value', 'TEXTDOMAIN'),\n\t\t);\n\t\t\n\t\t\n\t\t/*\n\t\t*  settings (array) Store plugin settings (url, path, version) as a reference for later use with assets\n\t\t*/\n\t\t\n\t\t$this->settings = $settings;\n\t\t\n\t\t\n\t\t// do not delete!\n    \tparent::__construct();\n    \t\n\t}\n\t\n\t\n\t/*\n\t*  render_field_settings()\n\t*\n\t*  Create extra settings for your field. These are visible when editing a field\n\t*\n\t*  @type\taction\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$field (array) the $field being edited\n\t*  @return\tn/a\n\t*/\n\t\n\tfunction render_field_settings( $field ) {\n\t\t\n\t\t/*\n\t\t*  acf_render_field_setting\n\t\t*\n\t\t*  This function will create a setting for your field. Simply pass the $field parameter and an array of field settings.\n\t\t*  The array of settings does not require a `value` or `prefix`; These settings are found from the $field array.\n\t\t*\n\t\t*  More than one setting can be added by copy/paste the above code.\n\t\t*  Please note that you must also have a matching $defaults value for the field name (font_size)\n\t\t*/\n\t\t\n\t\tacf_render_field_setting( $field, array(\n\t\t\t'label'\t\t\t=> __('Font Size','TEXTDOMAIN'),\n\t\t\t'instructions'\t=> __('Customise the input font size','TEXTDOMAIN'),\n\t\t\t'type'\t\t\t=> 'number',\n\t\t\t'name'\t\t\t=> 'font_size',\n\t\t\t'prepend'\t\t=> 'px',\n\t\t));\n\n\t}\n\t\n\t\n\t\n\t/*\n\t*  render_field()\n\t*\n\t*  Create the HTML interface for your field\n\t*\n\t*  @param\t$field (array) the $field being rendered\n\t*\n\t*  @type\taction\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$field (array) the $field being edited\n\t*  @return\tn/a\n\t*/\n\t\n\tfunction render_field( $field ) {\n\t\t\n\t\t\n\t\t/*\n\t\t*  Review the data of $field.\n\t\t*  This will show what data is available\n\t\t*/\n\t\t\n\t\techo '<pre>';\n\t\t\tprint_r( $field );\n\t\techo '</pre>';\n\t\t\n\t\t\n\t\t/*\n\t\t*  Create a simple text input using the 'font_size' setting.\n\t\t*/\n\t\t\n\t\t?>\n\t\t<input type=\"text\" name=\"<?php echo esc_attr($field['name']) ?>\" value=\"<?php echo esc_attr($field['value']) ?>\" style=\"font-size:<?php echo $field['font_size'] ?>px;\" />\n\t\t<?php\n\t}\n\t\n\t\t\n\t/*\n\t*  input_admin_enqueue_scripts()\n\t*\n\t*  This action is called in the admin_enqueue_scripts action on the edit screen where your field is created.\n\t*  Use this action to add CSS + JavaScript to assist your render_field() action.\n\t*\n\t*  @type\taction (admin_enqueue_scripts)\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\tn/a\n\t*  @return\tn/a\n\t*/\n\n\t/*\n\t\n\tfunction input_admin_enqueue_scripts() {\n\t\t\n\t\t// vars\n\t\t$url = $this->settings['url'];\n\t\t$version = $this->settings['version'];\n\t\t\n\t\t\n\t\t// register & include JS\n\t\twp_register_script('TEXTDOMAIN', \"{$url}assets/js/input.js\", array('acf-input'), $version);\n\t\twp_enqueue_script('TEXTDOMAIN');\n\t\t\n\t\t\n\t\t// register & include CSS\n\t\twp_register_style('TEXTDOMAIN', \"{$url}assets/css/input.css\", array('acf-input'), $version);\n\t\twp_enqueue_style('TEXTDOMAIN');\n\t\t\n\t}\n\t\n\t*/\n\t\n\t\n\t/*\n\t*  input_admin_head()\n\t*\n\t*  This action is called in the admin_head action on the edit screen where your field is created.\n\t*  Use this action to add CSS and JavaScript to assist your render_field() action.\n\t*\n\t*  @type\taction (admin_head)\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\tn/a\n\t*  @return\tn/a\n\t*/\n\n\t/*\n\t\t\n\tfunction input_admin_head() {\n\t\n\t\t\n\t\t\n\t}\n\t\n\t*/\n\t\n\t\n\t/*\n   \t*  input_form_data()\n   \t*\n   \t*  This function is called once on the 'input' page between the head and footer\n   \t*  There are 2 situations where ACF did not load during the 'acf/input_admin_enqueue_scripts' and \n   \t*  'acf/input_admin_head' actions because ACF did not know it was going to be used. These situations are\n   \t*  seen on comments / user edit forms on the front end. This function will always be called, and includes\n   \t*  $args that related to the current screen such as $args['post_id']\n   \t*\n   \t*  @type\tfunction\n   \t*  @date\t6/03/2014\n   \t*  @since\t5.0.0\n   \t*\n   \t*  @param\t$args (array)\n   \t*  @return\tn/a\n   \t*/\n   \t\n   \t/*\n   \t\n   \tfunction input_form_data( $args ) {\n\t   \t\n\t\t\n\t\n   \t}\n   \t\n   \t*/\n\t\n\t\n\t/*\n\t*  input_admin_footer()\n\t*\n\t*  This action is called in the admin_footer action on the edit screen where your field is created.\n\t*  Use this action to add CSS and JavaScript to assist your render_field() action.\n\t*\n\t*  @type\taction (admin_footer)\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\tn/a\n\t*  @return\tn/a\n\t*/\n\n\t/*\n\t\t\n\tfunction input_admin_footer() {\n\t\n\t\t\n\t\t\n\t}\n\t\n\t*/\n\t\n\t\n\t/*\n\t*  field_group_admin_enqueue_scripts()\n\t*\n\t*  This action is called in the admin_enqueue_scripts action on the edit screen where your field is edited.\n\t*  Use this action to add CSS + JavaScript to assist your render_field_options() action.\n\t*\n\t*  @type\taction (admin_enqueue_scripts)\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\tn/a\n\t*  @return\tn/a\n\t*/\n\n\t/*\n\t\n\tfunction field_group_admin_enqueue_scripts() {\n\t\t\n\t}\n\t\n\t*/\n\n\t\n\t/*\n\t*  field_group_admin_head()\n\t*\n\t*  This action is called in the admin_head action on the edit screen where your field is edited.\n\t*  Use this action to add CSS and JavaScript to assist your render_field_options() action.\n\t*\n\t*  @type\taction (admin_head)\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\tn/a\n\t*  @return\tn/a\n\t*/\n\n\t/*\n\t\n\tfunction field_group_admin_head() {\n\t\n\t}\n\t\n\t*/\n\n\n\t/*\n\t*  load_value()\n\t*\n\t*  This filter is applied to the $value after it is loaded from the db\n\t*\n\t*  @type\tfilter\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$value (mixed) the value found in the database\n\t*  @param\t$post_id (mixed) the $post_id from which the value was loaded\n\t*  @param\t$field (array) the field array holding all the field options\n\t*  @return\t$value\n\t*/\n\t\n\t/*\n\t\n\tfunction load_value( $value, $post_id, $field ) {\n\t\t\n\t\treturn $value;\n\t\t\n\t}\n\t\n\t*/\n\t\n\t\n\t/*\n\t*  update_value()\n\t*\n\t*  This filter is applied to the $value before it is saved in the db\n\t*\n\t*  @type\tfilter\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$value (mixed) the value found in the database\n\t*  @param\t$post_id (mixed) the $post_id from which the value was loaded\n\t*  @param\t$field (array) the field array holding all the field options\n\t*  @return\t$value\n\t*/\n\t\n\t/*\n\t\n\tfunction update_value( $value, $post_id, $field ) {\n\t\t\n\t\treturn $value;\n\t\t\n\t}\n\t\n\t*/\n\t\n\t\n\t/*\n\t*  format_value()\n\t*\n\t*  This filter is appied to the $value after it is loaded from the db and before it is returned to the template\n\t*\n\t*  @type\tfilter\n\t*  @since\t3.6\n\t*  @date\t23/01/13\n\t*\n\t*  @param\t$value (mixed) the value which was loaded from the database\n\t*  @param\t$post_id (mixed) the $post_id from which the value was loaded\n\t*  @param\t$field (array) the field array holding all the field options\n\t*\n\t*  @return\t$value (mixed) the modified value\n\t*/\n\t\t\n\t/*\n\t\n\tfunction format_value( $value, $post_id, $field ) {\n\t\t\n\t\t// bail early if no value\n\t\tif( empty($value) ) {\n\t\t\n\t\t\treturn $value;\n\t\t\t\n\t\t}\n\t\t\n\t\t\n\t\t// apply setting\n\t\tif( $field['font_size'] > 12 ) { \n\t\t\t\n\t\t\t// format the value\n\t\t\t// $value = 'something';\n\t\t\n\t\t}\n\t\t\n\t\t\n\t\t// return\n\t\treturn $value;\n\t}\n\t\n\t*/\n\t\n\t\n\t/*\n\t*  validate_value()\n\t*\n\t*  This filter is used to perform validation on the value prior to saving.\n\t*  All values are validated regardless of the field's required setting. This allows you to validate and return\n\t*  messages to the user if the value is not correct\n\t*\n\t*  @type\tfilter\n\t*  @date\t11/02/2014\n\t*  @since\t5.0.0\n\t*\n\t*  @param\t$valid (boolean) validation status based on the value and the field's required setting\n\t*  @param\t$value (mixed) the $_POST value\n\t*  @param\t$field (array) the field array holding all the field options\n\t*  @param\t$input (string) the corresponding input name for $_POST value\n\t*  @return\t$valid\n\t*/\n\t\n\t/*\n\t\n\tfunction validate_value( $valid, $value, $field, $input ){\n\t\t\n\t\t// Basic usage\n\t\tif( $value < $field['custom_minimum_setting'] )\n\t\t{\n\t\t\t$valid = false;\n\t\t}\n\t\t\n\t\t\n\t\t// Advanced usage\n\t\tif( $value < $field['custom_minimum_setting'] )\n\t\t{\n\t\t\t$valid = __('The value is too little!','TEXTDOMAIN'),\n\t\t}\n\t\t\n\t\t\n\t\t// return\n\t\treturn $valid;\n\t\t\n\t}\n\t\n\t*/\n\t\n\t\n\t/*\n\t*  delete_value()\n\t*\n\t*  This action is fired after a value has been deleted from the db.\n\t*  Please note that saving a blank value is treated as an update, not a delete\n\t*\n\t*  @type\taction\n\t*  @date\t6/03/2014\n\t*  @since\t5.0.0\n\t*\n\t*  @param\t$post_id (mixed) the $post_id from which the value was deleted\n\t*  @param\t$key (string) the $meta_key which the value was deleted\n\t*  @return\tn/a\n\t*/\n\t\n\t/*\n\t\n\tfunction delete_value( $post_id, $key ) {\n\t\t\n\t\t\n\t\t\n\t}\n\t\n\t*/\n\t\n\t\n\t/*\n\t*  load_field()\n\t*\n\t*  This filter is applied to the $field after it is loaded from the database\n\t*\n\t*  @type\tfilter\n\t*  @date\t23/01/2013\n\t*  @since\t3.6.0\t\n\t*\n\t*  @param\t$field (array) the field array holding all the field options\n\t*  @return\t$field\n\t*/\n\t\n\t/*\n\t\n\tfunction load_field( $field ) {\n\t\t\n\t\treturn $field;\n\t\t\n\t}\t\n\t\n\t*/\n\t\n\t\n\t/*\n\t*  update_field()\n\t*\n\t*  This filter is applied to the $field before it is saved to the database\n\t*\n\t*  @type\tfilter\n\t*  @date\t23/01/2013\n\t*  @since\t3.6.0\n\t*\n\t*  @param\t$field (array) the field array holding all the field options\n\t*  @return\t$field\n\t*/\n\t\n\t/*\n\t\n\tfunction update_field( $field ) {\n\t\t\n\t\treturn $field;\n\t\t\n\t}\t\n\t\n\t*/\n\t\n\t\n\t/*\n\t*  delete_field()\n\t*\n\t*  This action is fired after a field is deleted from the database\n\t*\n\t*  @type\taction\n\t*  @date\t11/02/2014\n\t*  @since\t5.0.0\n\t*\n\t*  @param\t$field (array) the field array holding all the field options\n\t*  @return\tn/a\n\t*/\n\t\n\t/*\n\t\n\tfunction delete_field( $field ) {\n\t\t\n\t\t\n\t\t\n\t}\t\n\t\n\t*/\n\t\n\t\n}\n\n\n// initialize\nnew NAMESPACE_acf_field_FIELD_NAME( $this->settings );\n\n\n// class_exists check\nendif;\n\n?>"
  },
  {
    "path": "acf-FIELD-NAME/lang/README.md",
    "content": "# Translations directory\n\nUse this directory to store .po and .mo files.\n\nThis directory can be removed if not used.\n"
  },
  {
    "path": "acf-FIELD-NAME/readme.txt",
    "content": "=== Advanced Custom Fields: FIELD_LABEL Field ===\nContributors: AUTHOR_NAME\nTags: PLUGIN_TAGS\nRequires at least: 3.6.0\nTested up to: 4.9.0\nStable tag: trunk\nLicense: GPLv2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\n\nSHORT_DESCRIPTION\n\n== Description ==\n\nEXTENDED_DESCRIPTION\n\n= Compatibility =\n\nThis ACF field type is compatible with:\n* ACF 5\n* ACF 4\n\n== Installation ==\n\n1. Copy the `acf-FIELD-NAME` folder into your `wp-content/plugins` folder\n2. Activate the FIELD_LABEL plugin via the plugins admin page\n3. Create a new field via ACF and select the FIELD_LABEL type\n4. Read the description above for usage instructions\n\n== Changelog ==\n\n= 1.0.0 =\n* Initial Release."
  }
]