Задать вопрос
@Ark111

Как показать разный html код для разные страны?

Есть Мульязычный сайт на WP. Сайт с подпапками. Как сделать так чтобы для разных стран показался отдельный HTML код?
  • Вопрос задан
  • 175 просмотров
Подписаться 2 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 1
@Kypidon4ik
Фрилансер, Wordpress developer
function show_html_by_country() {
    $country = get_visitor_country(); // Получить страну посетителя
    switch ($country) {
        case 'US':
            // Отобразить HTML-код для США
            break;
        case 'UK':
            // Отобразить HTML-код для Великобритании
            break;
        default:
            // Отобразить HTML-код по умолчанию
    }
}


Для получения страны посетителя используйте функцию:

function get_visitor_country() {
    if (isset($_SERVER['HTTP_CF_IPCOUNTRY'])) {
        return $_SERVER['HTTP_CF_IPCOUNTRY']; // Cloudflare
    } else if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
        return @geoip_country_code_by_addr(reset($ip)); // GeoIP
    } else {
        return @geoip_country_code_by_addr($_SERVER['REMOTE_ADDR']); // GeoIP
    }
}


PS:
Для использования GeoIP требуется установка библиотеки GeoIP.
Если Cloudflare включен, используйте заголовок `HTTP_CF_IPCOUNTRY` для получения страны.
Ответ написан
Ваш ответ на вопрос

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

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