I don’t know if this will every change or not. ACF does not check the field the conditional is based on to see if it is not shown, it just checks the value of that field.
So lets say that I have 3 true false fields
The 2nd true or false field is shown if the 1st is set to true.
The 3rd field is shown in the 2nd is set to true.
If I set the 1st one to true and then set the second one to true the 3rd one will be displayed.
If I then set the 1st one to false the 3rd one will still be displayed because the value of the 2nd one is still true, even tough you cannot see it.
Perhaps this is unexpected behavior, but I’m not the developer, I’m just another user so I can’t really make this change.
In order to get this to work the way ACF currently does things you need to take all the conditions that should show a field into account.
The 3rd fields conditionals need to be set so that it only appears if both the 1st field and 2nd field are true.
The other choice is to use tabs. Fields in a tab will respect the conditional of the tab. So if I create 1 true false field and the tab is conditional on this field then any fields inside that tab will also be conditional on that field. This is not due to anything in the conditional logic, it is something that’s dealt with by the tab field.
There are improvements to conditional logic coming in a future update, more field types an things. I don’t know the exact details of these changes at the moment, but I do know that it’s being worked on. The best way to possibly get this changed/added to the improvements would be to submit a new support ticket here https://www.advancedcustomfields.com/contact/ or here https://support.advancedcustomfields.com/new-ticket/
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!