name = 'bbutton'; $this->label = __('Button','acf-bbutton'); $this->category = __('Bootstrap','acf-bbutton'); // Basic, Content, Choice, etc $this->defaults = array( 'default_text' => '', 'allow_advanced'=> array( 'tag', 'option', 'size', 'active', 'disabled', 'class' ), 'default_tag' => 'a', 'default_option' => 'default', 'default_size' => '', 'default_active' => 0, 'default_disabled' => 0, 'default_class' => '', ); // do not delete! parent::__construct(); // settings $this->settings = $settings; } /* * create_options() * * Create extra options for your field. This is rendered when editing a field. * The value of $field['name'] can be used (like below) 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 ) { // defaults? $field = array_merge($this->defaults, $field); // key is needed in the field names to correctly save the data $key = $field['name']; // Create Field Options HTML ?>

'checkbox', 'name' => 'fields['.$key.'][allow_advanced]', 'value' => $field['allow_advanced'], 'layout' => 'horizontal', 'choices' => array( 'tag' => __("Tag",'acf-bbutton'), 'option' => __("Option",'acf-bbutton'), 'size' => __("Size",'acf-bbutton'), 'active' => __("Active",'acf-bbutton'), 'disabled' => __("Disabled",'acf-bbutton'), 'class' => __("Class",'acf-bbutton'), ) )); ?>

'text', 'name' => 'fields['.$key.'][default_text]', 'value' => $field['default_text'], 'layout' => 'horizontal', )); ?>

'select', 'name' => 'fields['.$key.'][default_tag]', 'value' => $field['default_tag'], 'layout' => 'horizontal', 'choices' => array( 'a' => __("Link",'acf-bbutton'), 'button' => __("Button",'acf-bbutton'), 'input' => __("Input",'acf-bbutton'), 'submit' => __("Submit",'acf-bbutton'), ) )); ?>

'select', 'name' => 'fields['.$key.'][default_option]', 'value' => $field['default_option'], 'layout' => 'horizontal', 'choices' => array( 'default' => __("Default",'acf-bbutton'), 'primary' => __("Primary",'acf-bbutton'), 'success' => __("Success",'acf-bbutton'), 'info' => __("Info",'acf-bbutton'), 'warning' => __("Warning",'acf-bbutton'), 'danger' => __("Danger",'acf-bbutton'), 'link' => __("Link",'acf-bbutton'), ) )); ?>

'select', 'name' => 'fields['.$key.'][default_size]', 'value' => $field['default_size'], 'layout' => 'horizontal', 'choices' => array( '' => __("Default",'acf-bbutton'), 'lg' => __("Large",'acf-bbutton'), 'sm' => __("Small",'acf-bbutton'), 'xs' => __("Extra Small",'acf-bbutton'), ) )); ?>

'radio', 'name' => 'fields['.$key.'][default_active]', 'value' => $field['default_active'], 'layout' => 'horizontal', 'choices' => array( 1 => __( 'Yes', 'acf-bbutton' ), 0 => __( 'No', 'acf-bbutton' ), ) )); ?>

'radio', 'name' => 'fields['.$key.'][default_disabled]', 'value' => $field['default_disabled'], 'layout' => 'horizontal', 'choices' => array( 1 => __( 'Yes', 'acf-bbutton' ), 0 => __( 'No', 'acf-bbutton' ), ) )); ?>

'text', 'name' => 'fields['.$key.'][default_class]', 'value' => $field['default_class'], 'layout' => 'horizontal', )); ?> defaults, $field); // perhaps use $field['preview_size'] to alter the markup? // create Field HTML if ( ! isset( $field['value']['text'] ) ) { if ( isset( $field['default_text'] ) ) { $field['value']['text'] = $field['default_text']; } else { $field['value']['text'] = ''; } } $url_exists = true; if ( ! isset($field['value']['url']) ) { $url_exists = false; } if ( ! isset( $field['value']['tag'] ) ) { if ( isset( $field['default_tag'] ) ) { $field['value']['tag'] = $field['default_tag']; } else { $field['value']['tag'] = ''; } } if ( ! isset( $field['value']['option'] ) ) { if ( isset( $field['default_option'] ) ) { $field['value']['option'] = $field['default_option']; } else { $field['value']['option'] = ''; } } if ( ! isset( $field['value']['size'] ) ) { if ( isset( $field['default_size'] ) ) { $field['value']['size'] = $field['default_size']; } else { $field['value']['size'] = ''; } } if ( ! isset( $field['value']['active'] ) ) { if ( isset( $field['default_active'] ) ) { $field['value']['active'] = $field['default_active']; } else { $field['value']['active'] = ''; } } if ( ! isset( $field['value']['disabled'] ) ) { if ( isset( $field['default_disabled'] ) ) { $field['value']['disabled'] = $field['default_disabled']; } else { $field['value']['disabled'] = ''; } } if ( ! isset( $field['value']['class'] ) ) { if ( isset( $field['default_class'] ) ) { $field['value']['class'] = $field['default_class']; } else { $field['value']['class'] = ''; } } ?>
:

settings['url'] . 'assets/js/input.js', array('acf-input'), $this->settings['version'] ); $translations = array( 'insert_link' => __('Insert Link', 'acf-bbutton'), 'edit_link' => __('Edit Link', 'acf-bbutton'), 'yes' => __('Yes', 'acf-bbutton'), 'no' => __('No', 'acf-bbutton') ); wp_localize_script('acf-input-bbutton', 'translations', $translations); wp_enqueue_script('acf-input-bbutton'); // register & include CSS wp_register_style( 'acf-input-bbutton', $this->settings['url'] . 'assets/css/input.css', array('acf-input') ); wp_enqueue_style('acf-input-bbutton'); } /* * input_admin_head() * * This action is called in the admin_head action on the edit screen where your field is created. * Use this action to add CSS and JavaScript to assist your create_field() action. * * @info http://codex.wordpress.org/Plugin_API/Action_Reference/admin_head * @type action * @since 3.6 * @date 23/01/13 */ function input_admin_head() { // Note: This function can be removed if not used } /* * field_group_admin_enqueue_scripts() * * This action is called in the admin_enqueue_scripts action on the edit screen where your field is edited. * Use this action to add CSS + JavaScript to assist your create_field_options() action. * * $info http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts * @type action * @since 3.6 * @date 23/01/13 */ function field_group_admin_enqueue_scripts() { // Note: This function can be removed if not used } /* * field_group_admin_head() * * This action is called in the admin_head action on the edit screen where your field is edited. * Use this action to add CSS and JavaScript to assist your create_field_options() action. * * @info http://codex.wordpress.org/Plugin_API/Action_Reference/admin_head * @type action * @since 3.6 * @date 23/01/13 */ function field_group_admin_head() { // Note: This function can be removed if not used } /* * load_value() * * This filter is applied to the $value after it is loaded from the db * * @type filter * @since 3.6 * @date 23/01/13 * * @param $value - the value found in the database * @param $post_id - the $post_id from which the value was loaded * @param $field - the field array holding all the field options * * @return $value - the value to be saved in the database */ function load_value( $value, $post_id, $field ) { // Note: This function can be removed if not used return $value; } /* * update_value() * * This filter is applied to the $value before it is updated in the db * * @type filter * @since 3.6 * @date 23/01/13 * * @param $value - the value which will be saved in the database * @param $post_id - the $post_id of which the value will be saved * @param $field - the field array holding all the field options * * @return $value - the modified value */ function update_value( $value, $post_id, $field ) { // Note: This function can be removed if not used return $value; } /* * format_value() * * This filter is applied to the $value after it is loaded from the db and before it is passed to the create_field action * * @type filter * @since 3.6 * @date 23/01/13 * * @param $value - the value which was loaded from the database * @param $post_id - the $post_id from which the value was loaded * @param $field - the field array holding all the field options * * @return $value - the modified value */ function format_value( $value, $post_id, $field ) { // defaults? /* $field = array_merge($this->defaults, $field); */ // perhaps use $field['preview_size'] to alter the $value? // Note: This function can be removed if not used return $value; } /* * format_value_for_api() * * 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 * * @type filter * @since 3.6 * @date 23/01/13 * * @param $value - the value which was loaded from the database * @param $post_id - the $post_id from which the value was loaded * @param $field - the field array holding all the field options * * @return $value - the modified value */ function format_value_for_api( $value, $post_id, $field ) { // defaults? /* $field = array_merge($this->defaults, $field); */ // perhaps use $field['preview_size'] to alter the $value? // Note: This function can be removed if not used return $value; } /* * load_field() * * This filter is applied to the $field after it is loaded from the database * * @type filter * @since 3.6 * @date 23/01/13 * * @param $field - the field array holding all the field options * * @return $field - the field array holding all the field options */ function load_field( $field ) { // Note: This function can be removed if not used return $field; } /* * update_field() * * This filter is applied to the $field before it is saved to the database * * @type filter * @since 3.6 * @date 23/01/13 * * @param $field - the field array holding all the field options * @param $post_id - the field group ID (post_type = acf) * * @return $field - the modified field */ function update_field( $field, $post_id ) { // Note: This function can be removed if not used return $field; } } // initialize new acf_field_bbutton( $this->settings ); // class_exists check endif; ?>