name = 'swatch'; $this->label = __('Color Swatch', 'acf'); $this->category = __('Choice', 'acf'); $this->defaults = array( 'layout' => 'vertical', 'choices' => array(), 'default_value' => '', 'other_choice' => 0, 'save_other_choice' =>0, ); $this->settings = array( 'path' => apply_filters('acf/helpers/get_path', __FILE__), 'dir' => apply_filters('acf/helpers/get_dir', __FILE__), 'version' => '1.0.0' ); // do not delete! parent::__construct(); } /* * create_field() * * Create the HTML interface for your field * * @param $field - an array holding all the field's data * * @type action * @since 3.6 * @date 23/01/13 */ function create_field($field) { $obj = array(); $arr = explode("\n", $field['choices']); foreach ($arr as $a) { $k = explode(' : ', $a); $obj[$k[0]] = $k[1]; } $field['choices'] = $obj; // this all seems very hacky... the default radio class didnt use this // vars $i = 0; $e = ''; echo $e; } /* * create_options() * * Create extra options for your field. This is rendered when editing a field. * The value of $field['name'] can be used (like bellow) to save extra data to the $field * * @type action * @since 3.6 * @date 23/01/13 * * @param $field - an array holding all the field's data */ function create_options($field) { // vars $key = $field['name']; // implode checkboxes so they work in a textarea if (is_array($field['choices'])) { foreach ($field['choices'] as $k => $v) { $field['choices'][ $k ] = $k . ' : ' . $v; } $field['choices'] = implode("\n", $field['choices']); } ?>






'textarea', 'class' => 'textarea field_option-choices', 'name' => 'fields['.$key.'][choices]', 'value' => $field['choices'], )); ?>
'true_false', 'name' => 'fields['.$key.'][other_choice]', 'value' => $field['other_choice'], 'message' => __("Add 'other' choice to allow for custom values", 'acf') )); ?>
style="display:none"> 'true_false', 'name' => 'fields['.$key.'][save_other_choice]', 'value' => $field['save_other_choice'], 'message' => __("Save 'other' values to the field's choices", 'acf') )); ?>
'text', 'name' => 'fields['.$key.'][default_value]', 'value' => $field['default_value'], )); ?> 'radio', 'name' => 'fields['.$key.'][layout]', 'value' => $field['layout'], 'layout' => 'horizontal', 'choices' => array( 'vertical' => __("Vertical",'acf'), 'horizontal' => __("Horizontal",'acf') ) )); ?> settings['dir'] . 'js/min/input-min.js', array('acf-input') ); wp_register_style( 'acf-input-swatch', $this->settings['dir'] . 'css/input.css', array('acf-input') ); // scripts wp_enqueue_script(array( 'acf-input-swatch', )); // styles wp_enqueue_style(array( 'acf-input-swatch', )); } } new acf_field_swatch(); ?>