name = 'radio';
$this->label = __("Radio Button",'acf');
$this->category = __("Choice",'acf');
$this->defaults = array(
'layout' => 'vertical',
'choices' => array(),
'default_value' => '',
'other_choice' => 0,
'save_other_choice' => 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 )
{
// vars
$i = 0;
$e = '
';
// add choices
if( is_array($field['choices']) )
{
foreach( $field['choices'] as $key => $value )
{
// vars
$i++;
$atts = '';
// if there is no value and this is the first of the choices, select this on by default
if( $field['value'] === false )
{
if( $i === 1 )
{
$atts = 'checked="checked" data-checked="checked"';
}
}
else
{
if( strval($key) === strval($field['value']) )
{
$atts = 'checked="checked" data-checked="checked"';
}
}
// HTML
$e .= '';
}
}
// other choice
if( $field['other_choice'] )
{
// vars
$atts = '';
$atts2 = 'name="" value="" style="display:none"';
if( $field['value'] !== false )
{
if( !isset($field['choices'][ $field['value'] ]) )
{
$atts = 'checked="checked" data-checked="checked"';
$atts2 = 'name="' . esc_attr($field['name']) . '" value="' . esc_attr($field['value']) . '"' ;
}
}
$e .= '
';
}
$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']);
}
?>