This cheatsheet consists of ACF Field Type arguments for use with ACF Builder as well as the known (most of which are not documented) configuration methods to assist in building fields. While the below field types reveal all of the possible configuration passable in the field type config array, most have available chainable methods to assist in building out cleaner, more readable code.
If you are new to ACF Builder and would like to learn more, you can read my guide here.
$builder
->addText('text_field', [
'label' => 'Text Field',
'instructions' => '',
'required' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'default_value' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
'maxlength' => '',
]);
$builder
->addTextarea('textarea_field', [
'label' => 'Textarea Field',
'instructions' => '',
'required' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'default_value' => '',
'placeholder' => '',
'maxlength' => '',
'rows' => '',
'new_lines' => '',
]);
$builder
->addNumber('number_Field', [
'label' => 'Number Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'default_value' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
'min' => '',
'max' => '',
'step' => '',
]);
$builder
->addRange('range_field', [
'label' => 'Range Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'default_value' => '',
'min' => '',
'max' => '',
'step' => '',
'prepend' => '',
'append' => '',
]);
$builder
->addEmail('email_field', [
'label' => 'Email Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'default_value' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
]);
$builder
->addUrl('url_field', [
'label' => 'URL Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'default_value' => '',
'placeholder' => '',
]);
$builder
->addPassword('password_field', [
'label' => 'Password Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'placeholder' => '',
'prepend' => '',
'append' => '',
]);
$builder
->addWysiwyg('wysiwyg_field', [
'label' => 'WYSIWYG Field'
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'default_value' => '',
'tabs' => 'all',
'toolbar' => 'full',
'media_upload' => 1,
'delay' => 0,
]);
$builder
->addOembed('oembed_field', [
'label' => 'Oembed Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'width' => '',
'height' => '',
]);
$builder
->addImage('image_field', [
'label' => 'Image FIeld',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'return_format' => 'array',
'preview_size' => 'thumbnail',
'library' => 'all',
'min_width' => '',
'min_height' => '',
'min_size' => '',
'max_width' => '',
'max_height' => '',
'max_size' => '',
'mime_types' => '',
]);
$builder
->addFile('file_Field', [
'label' => 'File Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'return_format' => 'array',
'library' => 'all',
'min_size' => '',
'max_size' => '',
'mime_types' => '',
]);
$builder
->addGallery('gallery_field', [
'label' => 'Gallery Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'min' => '',
'max' => '',
'insert' => 'append',
'library' => 'all',
'min_width' => '',
'min_height' => '',
'min_size' => '',
'max_width' => '',
'max_height' => '',
'max_size' => '',
'mime_types' => '',
]);
$builder
->addSelect('select_field', [
'label' => 'Select Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'choices' => [],
'default_value' => [],
'allow_null' => 0,
'multiple' => 0,
'ui' => 0,
'ajax' => 0,
'return_format' => 'value',
'placeholder' => '',
]);
$builder
->addCheckbox('checkbox_field', [
'label' => 'Checkbox Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'choices' => [],
'allow_custom' => 0,
'save_custom' => 0,
'default_value' => [],
'layout' => 'vertical',
'toggle' => 0,
'return_format' => 'value',
]);
$builder
->addRadio('radio_field', [
'label' => 'Radio Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'choices' => [],
'allow_null' => 0,
'other_choice' => 0,
'save_other_choice' => 0,
'default_value' => '',
'layout' => 'vertical',
'return_format' => 'value',
]);
$builder
->addButtonGroup('button_group_field', [
'label' => 'Button Group Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'choices' => [],
'allow_null' => 0,
'default_value' => '',
'layout' => 'horizontal',
'return_format' => 'value',
]);
$builder
->addTrueFalse('truefalse_field', [
'label' => 'True / False Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'message' => '',
'default_value' => 0,
'ui' => 0,
'ui_on_text' => '',
'ui_off_text' => '',
]);
$builder
->addLink('link_field', [
'label' => 'Link Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'return_format' => 'array',
]);
$builder
->addPostObject('post_object_field', [
'label' => 'Post Object Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'post_type' => [],
'taxonomy' => [],
'allow_null' => 0,
'multiple' => 0,
'return_format' => 'object',
'ui' => 1,
]);
$builder
->addPageLink('page_link_field', [
'label' => 'Page Link Field',
'type' => 'page_link',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'post_type' => [],
'taxonomy' => [],
'allow_null' => 0,
'allow_archives' => 1,
'multiple' => 0,
]);
$builder
->addRelationship('relationship_field', [
'label' => 'Relationship Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'post_type' => [],
'taxonomy' => [],
'filters' => [
0 => 'search',
1 => 'post_type',
2 => 'taxonomy',
],
'elements' => '',
'min' => '',
'max' => '',
'return_format' => 'object',
]);
$builder
->addTaxonomy('taxonomy_field', [
'label' => 'Taxonomy Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'taxonomy' => 'category',
'field_type' => 'checkbox',
'allow_null' => 0,
'add_term' => 1,
'save_terms' => 0,
'load_terms' => 0,
'return_format' => 'id',
'multiple' => 0,
]);
$builder
->addUser('user_field', [
'label' => 'User Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'role' => '',
'allow_null' => 0,
'multiple' => 0,
]);
$builder
->addGoogleMap('google_map_field', [
'label' => 'Google Map Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'center_lat' => '',
'center_lng' => '',
'zoom' => '',
'height' => '',
]);
$builder
->addDatePicker('date_picker_field', [
'label' => 'Date Picker Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'display_format' => 'd/m/Y',
'return_format' => 'd/m/Y',
'first_day' => 1,
]);
$builder
->addDateTimePicker('date_time_picker_field', [
'label' => 'Date Time Picker Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
]);
$builder
->addTimePicker('time_picker_field', [
'label' => 'Time Picker Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'display_format' => 'g:i a',
'return_format' => 'g:i a',
]);
$builder
->addColorPicker('color_picker_field', [
'label' => 'Color Picker Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'default_value' => '',
]);
$builder
->addMessage('message_field', [
'label' => 'Message Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'message' => '',
'new_lines' => 'wpautop',
'esc_html' => 0,
]);
$builder
->addAccordion('accordion_field', [
'label' => 'Accordion Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'open' => 0,
'multi_expand' => 0,
'endpoint' => 0,
]);
$builder
->addAccordion('accordion_field_end')->endpoint();
$builder
->addTab('tab_field', [
'label' => 'Tab Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'default_value' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
'maxlength' => '',
]);
$builder
->addGroup('group_field', [
'label' => 'Group Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'layout' => 'block',
'sub_fields' => [],
]);
$builder
->addRepeater('repeater_field', [
'label' => 'Repeater Field',
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'collapsed' => '',
'min' => 0,
'max' => 0,
'layout' => 'table',
'button_label' => '',
'sub_fields' => [],
]);
$builder
->addFlexibleContent('flexible_content_field', [
'instructions' => '',
'required' => 0,
'conditional_logic' => 0,
'wrapper' => [
'width' => '',
'class' => '',
'id' => '',
],
'button_label' => 'Add Row',
'min' => '',
'max' => '',
]);
$builder
->addLayout('layout', [
'label' => 'Layout',
'display' => 'block',
'sub_fields' => [],
'min' => '',
'max' => '',
]);
$builder
->addLayout(new FieldsBuilder());
$builder
->addFields(new FieldsBuilder());
$builder
->addField('text', 'title')
->setKey('field_title')
->setDefaultValue('My Title')
->setInstructions('This is a title.')
->setRequired()
->setUnrequired()
->setConfig('placeholder' => 'Enter the title');
$builder
->modifyField('title', ['label' => 'Modified Title']);
$builder
->addFields(new FieldsBuilder())
->getField('title')
->modifyField('title', ['label' => 'Modified Title']);
$builder
->removeField('title');
$builder
->addChoice('red')
->addChoice('blue')
->addChoice('green');
$builder
->addChoices(['red' => 'Red'], ['blue' => 'Blue'], ['green' => 'Green']);
$builder
->conditional('true_false', '==', '0')
->and('true_false', '!=', '1')
->or('false_true', '==', '1');
$builder
->setWidth('30');
$builder
->setSelector('.field')
->setSelector('#field');
$builder
->setAttr('width', '30')
->setAttr('class', 'field')
->setAttr('id', 'field');
$builder
->setWrapper(['width' => '30', 'class' => 'field', 'id' => 'field']);
$builder
->setLocation('post_type', '==', 'page')
->and('page_type', '==', 'front_page');