Как отображать контент только в одной определенной стране?
Сайт на WordPress. Как сделать вывод разного контента в зависимости от страны. Именно в моем случае нужно скрыть вывод цен (и прочего контента woocommerce) для всех стран кроме Израиля. Через css скрыть не вариант, нужно полностью удалить из кода. Плагины для этого использовать не хочу. Может есть какие то другие решения? Я пробовала такой код, но он не сработал:
function init() {
var id, country = geoip_country_code();
switch (country) {
case 'HE':
id = 'country-he';
break;
case 'RU':
id = 'country-ru';
break;
default:
id = 'country-other';
}
document.getElementById(id).style.display = 'block';
}
<div class="geoip" id="country-ru">
<h1>Блок для пользователей из России</h1>
</div>
Ответы (1 шт):
Автор решения: steam.apk2
→ Ссылка
1 - сделать lang файл в котором содержится локализация. Соответственно добавить возможность смены языка пользователю. Если это не подходит, тогда очень очевидный вариант - юзнуть API. Проверил только что с РФ и УКР. Все прекрасно работает. Дальше уже ручками развивайте.
public static function GetGeoip()
{
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://freegeoip.app/json/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
}
$response = json_decode($response,true);
if ($response['country_code'] == 'RU')
{
echo 'РУССКОЯЗЫЧНИК';
//Дальше делайте по аналогии и выводите то, что нужно и где нужно..
}
}