Сохранение города как на Авито?
Можно хранить в cookie или localstorage. При первом обращении можно определять с помощью navigator.geolocation. Если пользователь отклонил запрос на доступ к геоданным можно определять местоположение по ip.
Если рассматривать бэкенд-решения, то вам поможет бесплатный плагин WT Geotargeting. С его помощью на сайте можно реализовать выбор города и отображение различной информации с привязкой к городу.

При выборе города значение сохраняется в cookie и при переходе по страницам или последующем посещении повторно город выбирать не нужно. 

У плагина есть расширенная платная версия WT Geotargeting Pro, с которой проще управлять большим количеством городов, можно настраивать поддомены, есть поддержка WooCommerce и многое другое.