-
Notifications
You must be signed in to change notification settings - Fork 63
Conditions
ACF allows fields to be visible or hidden based on the values of other fields, but only based on a field that has choices: checkbox, radio, select, true_false. These conditions work exactly like the field group locations work, being comprised by and / or logic, where or takes precedence to and.
use StoutLogic\AcfBuilder\FieldsBuilder;
$colors = new FieldsBuilder('colors');
$colors
->addRadio('color')
->addChoices('red', 'blue', 'green', 'other')
->addText('other_value')
->conditional('color', '==', 'other');The above will show a text box if 'other' is selected from color, otherwise it will not be displayed in the admin.
Fields can be made visible or hidden based on more complex logic. The same rules apply as for field group locations
use StoutLogic\AcfBuilder\FieldsBuilder;
$banner = new FieldsBuilder('banner');
$banner
->addImage('background_image')
->addTrueFalse('add_title')
->addText('title')
->conditional('add_title', '==', '1')
->addRadio('title_color')
->addChoices('black', 'white')
->conditional('add_title', '==', '1')
->addRadio('title_background_color')
->addChoices(['transparent' => 'none'], 'black')
->conditional('add_title', '==', '1')
->and('title_color', '==', 'white');This will display the Title Background Options only if a title is available and the title text color is white. The logic probably won't be as complex as field group locations logic, but it is there if needed.
Want to contribute to this Wiki? Fork it and send a pull request.
© Stout Logic, LLC