Home › Forums › Front-end Issues › Populate select field dynamically based on user choice

The code below displays a TIME field dynamically based on the user selected date and session.
If the user selected DATE and SESSION match the DATE and SESSION subfields in the option page >> Hide the field.
Now my question is this:
Is this logic also possible for populating a select field dynamically? So if a user selects DATE X >> SESSION FIELD has option 1 & 2, but if a user selects DATE Y >> SESSION FIELD only has option 1.
Note: I now how to dynamically populate a select field but not related to the above condition example.
Here’s the 100% working code for hiding/showing fields based on dynamic conditions. It’s kinda related so I thought: Let’s share…
add_filter('acf/prepare_field/name=booking_time_session_1', 'yl_check_booking_setting_exceptions_session_1');
function yl_check_booking_setting_exceptions_session_1($field){
// Reset conditions
// Warning: Conditions set in the UI won't be compatible!
$conditions = array();
// Creating Base Condition
$conditions[] = array(
array(
'field' => 'field_5ed4181bd63dc',
'operator' => '==',
'value' => '1',
)
);
if(have_rows('booking_setting_exceptions', 'booking_settings')):
while(have_rows('booking_setting_exceptions', 'booking_settings')): the_row();
// Check: Booking Settings Exceptions Session
if(get_sub_field('booking_setting_exceptions_session') == '2')
continue;
$date = date_i18n('Ymd', strtotime(get_sub_field('booking_setting_exceptions_date', 'booking_settings')));
// Check: Booking Settings Exceptions Date
if(empty($date))
continue;
// Adding a new AND condition inside Base condition, at the index = 0
$conditions[0][] = array(
'field' => 'field_5ed4178dd63d7',
'operator' => '!=',
'value' => $date,
);
endwhile;
endif;
// Setting the full condition
$field['conditional_logic'] = $conditions;
return $field;
}
The topic ‘Populate select field dynamically based on user choice’ is closed to new replies.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.