Так можно определить текущий город по ip
$server = $_SERVER['REMOTE_ADDR'];
$rrs = file_get_contents("http://api.sypexgeo.net/json/" . $server);
$obj = json_decode($rrs);
print_r($obj);//Здесь хранятся необходимые данные. Выбирай что нужно - страна, регион, город.
Сохранять данные нужно с помощью session
Так нужно инициализировать сессии в functions.php
add_action('init', 'myStartSession', 1);
add_action('wp_logout', 'myEndSession');
add_action('wp_login', 'myEndSession');
function myStartSession() {
if(!session_id()) {
session_start();
}
}
function myEndSession() {
session_destroy ();
}
Так сохранить и получить данные
//сохраняем
$_SESSION['city'] = 'Город';
//Получаем
if(isset($_SESSION['city'])) {
$city = $_SESSION['city'];
} else {
$city= '';
}