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

    @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` для получения страны.
    Ответ написан
    3 комментария