Вам погомут conditional rules.
Создайте одно поле с выбором таксономий (городов). Это может быть поле типа select, radio, checkbox - зависит от того нужно ли вам выбирать один или несколько городов. В значения этого поля добавьте все ваши города/таксономии. Можно это сделать вручную, а можно
программно заполнить из существующих таксономий.
Дальше под каждую таксономию (город) создайте свое поле типа Taxonomy, в котором и будут выбираться термины. Включите в этом поле галочки Create Terms, Save Terms и Load Terms, а также включите Conditional Logic - именно в этом вся магия. Теперь в conditional настройте условие. Вот так это выглядит:
А вот так это выглядит на странице редактирования записи - по умолчанию город не выбран:
А если выбрали город - показало поле для выбора категории в этом городе:
Вот вам экспорт этой тестовой группы полей, имопртните себе в ACF и поковыряйте:
[
{
"key": "group_5e981df6cbdcc",
"title": "Taxonomies",
"fields": [
{
"key": "field_5e981e4bb1454",
"label": "City",
"name": "taxonomy",
"type": "checkbox",
"choices": {
"spb": "SPB",
"msk": "Moscow",
"omsk": "Omsk"
},
"layout": "vertical",
"return_format": "value",
},
{
"key": "field_5e981e18b1453",
"label": "MSK",
"name": "term",
"type": "taxonomy",
"conditional_logic": [
[
{
"field": "field_5e981e4bb1454",
"operator": "==",
"value": "msk"
}
]
],
"taxonomy": "post_tag",
"field_type": "checkbox",
"add_term": 1,
"save_terms": 1,
"load_terms": 1,
"return_format": "id",
"multiple": 0,
"allow_null": 0
}
],
"location": [
[
{
"param": "post_type",
"operator": "==",
"value": "post"
}
]
],
"menu_order": 0,
"position": "side",
"style": "default",
"label_placement": "top",
"instruction_placement": "label",
"active": true,
}
]