@fisherspoons

Плагин локаций Wordpress?

Возможно кто-то сталкивался или знает, нужен плагин для вывода международной локации(города), но не в виде карт Гугл, а в виде строки
  • Вопрос задан
  • 271 просмотр
Пригласить эксперта
Ответы на вопрос 1
trampick
@trampick
Веб-разработчик
Я использую 2 функции в своих проектах для геолокации.
get_ip() - выдает ip клиента,
get_region() - выдает область по заданному ip. Можно переделать чтобы выдавал город.
$xml = simplexml_load_file('ipgeobase.ru:7020/geo?ip=' . $ip);
этой строчкой мы получаем всю информацию о клиенте по ip.
Через объект $xml можно получить и город
function get_ip() {
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

function get_region($ip = '', $to = 'utf-8') {
    $ip = ($ip) ? $ip : $_SERVER['REMOTE_ADDR'];
    $xml = simplexml_load_file('http://ipgeobase.ru:7020/geo?ip=' . $ip);
    //print_R($xml);
    if ($xml->ip->message) {
        if ($to == 'utf-8') {
            return $xml->ip->message;
        } else {
            if (function_exists('iconv'))
                return iconv("UTF-8", $to . "//IGNORE", $xml->ip->message);
            else
                return "The library iconv is not supported by your server";
        }
    } else {
        if ($to == 'utf-8') {
            if (!empty($xml->ip->region))
                return $xml->ip->region;
            else
                return $xml->ip->country;
        } else {
            if (function_exists('iconv'))
                return iconv("UTF-8", $to . "//IGNORE", $xml->ip->region);
            else
                return "The library iconv is not supported by your server";
        }
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы