in web/wp-content/plugins/acf-extended/includes/fields/field-taxonomy-terms.php [358:771]
function render_field_settings($field){
if(isset($field['default_value'])){
$field['default_value'] = acf_encode_choices($field['default_value'], false);
}
// Allow Taxonomy
acf_render_field_setting($field, array(
'label' => __('Allow Taxonomy','acf'),
'instructions' => '',
'type' => 'select',
'name' => 'taxonomy',
'choices' => acf_get_taxonomy_labels(),
'multiple' => 1,
'ui' => 1,
'allow_null' => 1,
'placeholder' => __("All taxonomies",'acf'),
));
// Allow Terms
$choices = array();
$field['taxonomy'] = acf_get_array($field['taxonomy']);
if(!empty($field['allow_terms'])){
foreach($field['allow_terms'] as $id){
// All terms
if(acfe_starts_with($id, 'all_')){
$taxonomy = substr($id, 4);
$level = false;
if(stripos($taxonomy, '|') !== false){
$level = explode('|', $taxonomy);
$taxonomy = $level[0];
$level = $level[1];
$level = acfe_number_suffix($level) . ' Level ';
}
if(!empty($field['taxonomy']) && !in_array($taxonomy, $field['taxonomy'])){
continue;
}
$taxonomy = get_taxonomy($taxonomy);
$value = '(All ' . $level . $taxonomy->label . ')';
}
// Terms all childs
elseif(acfe_ends_with($id, '_all_childs')){
$term_id = substr($id, 0, -11);
$term = get_term($term_id);
$taxonomy = $term->taxonomy;
if(!empty($field['taxonomy']) && !in_array($taxonomy, $field['taxonomy'])){
continue;
}
$value = $term->name . ' (All childs)';
}
// Terms childs
elseif(acfe_ends_with($id, '_childs')){
$term_id = substr($id, 0, -7);
$term = get_term($term_id);
$taxonomy = $term->taxonomy;
if(!empty($field['taxonomy']) && !in_array($taxonomy, $field['taxonomy'])){
continue;
}
$value = $term->name . ' (Direct childs)';
}
// Term
else{
$term = get_term($id);
$taxonomy = $term->taxonomy;
if(!empty($field['taxonomy']) && !in_array($taxonomy, $field['taxonomy'])){
continue;
}
$term_data = acf_get_choice_from_term($term, 'name');
$value = $term_data['text'];
}
// append to choices
$choices[ $id ] = $value;
}
}
acf_render_field_setting($field, array(
'label' => __('Allow Terms','acf'),
'instructions' => '',
'type' => 'select',
'name' => 'allow_terms',
'choices' => $choices,
'multiple' => 1,
'ui' => 1,
'allow_null' => 1,
'ajax' => 1,
'placeholder' => __("All terms",'acf'),
'ajax_action' => 'acfe/fields/taxonomy_terms/allow_query',
));
// Select: Terms level
acf_render_field_setting($field, array(
'label' => __('Terms_level','acf'),
'instructions' => '',
'name' => 'allow_level',
'type' => 'number',
'append' => 'levels',
'min' => 0,
'placeholder' => __('All','acf'),
'_append' => 'allow_terms',
'value' => false
));
// field_type
acf_render_field_setting($field, array(
'label' => __('Appearance','acf'),
'instructions' => __('Select the appearance of this field', 'acf'),
'type' => 'select',
'name' => 'field_type',
'optgroup' => true,
'choices' => array(
'checkbox' => __('Checkbox', 'acf'),
'radio' => __('Radio Buttons', 'acf'),
'select' => _x('Select', 'noun', 'acf')
)
));
// default_value
acf_render_field_setting($field, array(
'label' => __('Default Value','acf'),
'instructions' => __('Enter each default value on a new line','acf'),
'name' => 'default_value',
'type' => 'textarea',
));
// return_format
acf_render_field_setting($field, array(
'label' => __('Return Value', 'acf'),
'instructions' => '',
'type' => 'radio',
'name' => 'return_format',
'choices' => array(
'object' => __('Term object', 'acfe'),
'name' => __('Term name', 'acfe'),
'id' => __('Term ID', 'acfe'),
),
'layout' => 'horizontal',
));
// Select: ui
acf_render_field_setting($field, array(
'label' => __('Stylised UI','acf'),
'instructions' => '',
'name' => 'ui',
'type' => 'true_false',
'ui' => 1,
'conditions' => array(
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'select',
),
),
)
));
// Select: allow_null
acf_render_field_setting($field, array(
'label' => __('Allow Null?','acf'),
'instructions' => '',
'name' => 'allow_null',
'type' => 'true_false',
'ui' => 1,
'conditions' => array(
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'select',
),
),
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'radio',
),
),
)
));
// Select: Placeholder
acf_render_field_setting($field, array(
'label' => __('Placeholder','acf'),
'instructions' => __('Appears within the input','acf'),
'type' => 'text',
'name' => 'placeholder',
'placeholder' => _x('Select', 'verb', 'acf'),
'conditional_logic' => array(
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'select',
),
array(
'field' => 'ui',
'operator' => '==',
'value' => '0',
),
array(
'field' => 'allow_null',
'operator' => '==',
'value' => '1',
),
array(
'field' => 'multiple',
'operator' => '==',
'value' => '0',
),
),
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'select',
),
array(
'field' => 'ui',
'operator' => '==',
'value' => '1',
),
array(
'field' => 'allow_null',
'operator' => '==',
'value' => '1',
),
),
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'select',
),
array(
'field' => 'ui',
'operator' => '==',
'value' => '1',
),
array(
'field' => 'multiple',
'operator' => '==',
'value' => '1',
),
),
)
));
// Select: Search Placeholder
acf_render_field_setting($field, array(
'label' => __('Search Input Placeholder','acf'),
'instructions' => __('Appears within the search input','acf'),
'type' => 'text',
'name' => 'search_placeholder',
'placeholder' => '',
'conditional_logic' => array(
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'select',
),
array(
'field' => 'ui',
'operator' => '==',
'value' => '1',
),
array(
'field' => 'multiple',
'operator' => '==',
'value' => '0',
),
),
)
));
// Select: multiple
acf_render_field_setting($field, array(
'label' => __('Select multiple values?','acf'),
'instructions' => '',
'name' => 'multiple',
'type' => 'true_false',
'ui' => 1,
'conditions' => array(
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'select',
),
),
)
));
// Select: ajax
acf_render_field_setting($field, array(
'label' => __('Use AJAX to lazy load choices?','acf'),
'instructions' => '',
'name' => 'ajax',
'type' => 'true_false',
'ui' => 1,
'conditions' => array(
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'select',
),
array(
'field' => 'ui',
'operator' => '==',
'value' => 1,
),
),
)
));
// Checkbox: layout
acf_render_field_setting($field, array(
'label' => __('Layout','acf'),
'instructions' => '',
'type' => 'radio',
'name' => 'layout',
'layout' => 'horizontal',
'choices' => array(
'vertical' => __("Vertical",'acf'),
'horizontal' => __("Horizontal",'acf')
),
'conditions' => array(
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'checkbox',
),
),
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'radio',
),
),
)
));
// Checkbox: toggle
acf_render_field_setting($field, array(
'label' => __('Toggle','acf'),
'instructions' => __('Prepend an extra checkbox to toggle all choices','acf'),
'name' => 'toggle',
'type' => 'true_false',
'ui' => 1,
'conditions' => array(
array(
array(
'field' => 'field_type',
'operator' => '==',
'value' => 'checkbox',
),
),
)
));
// save_terms
acf_render_field_setting($field, array(
'label' => __('Save Terms','acf'),
'instructions' => __('Connect selected terms to the post','acf'),
'name' => 'save_terms',
'type' => 'true_false',
'ui' => 1,
));
// load_terms
acf_render_field_setting($field, array(
'label' => __('Load Terms','acf'),
'instructions' => __('Load value from posts terms','acf'),
'name' => 'load_terms',
'type' => 'true_false',
'ui' => 1,
));
}