Контактная форма 7 список стран - PullRequest
0 голосов
/ 29 января 2020

Я хочу получить текущую страну (Найти по IP) в выпадающем списке cf 7.

Ниже я нахожу страну по IP:

function wpcf7_custom_date_shortcode_handler($mycountry) {

$myipd = get_client_ip(); 
$url = 'http://www.geoplugin.net/json.gp?ip='.$myipd; 
$details    =   ip_details($url); 

$v = json_decode($details);
$mycountry = $v->geoplugin_countryName;
return $mycountry;
}


function get_client_ip() {
 $ipaddress = '';
 if (getenv('HTTP_CLIENT_IP'))
    $ipaddress = getenv('HTTP_CLIENT_IP');
 else if(getenv('HTTP_X_FORWARDED_FOR'))
    $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
 else if(getenv('HTTP_X_FORWARDED'))
    $ipaddress = getenv('HTTP_X_FORWARDED');
 else if(getenv('HTTP_FORWARDED_FOR'))
    $ipaddress = getenv('HTTP_FORWARDED_FOR');
 else if(getenv('HTTP_FORWARDED'))
    $ipaddress = getenv('HTTP_FORWARDED');
 else if(getenv('REMOTE_ADDR'))
    $ipaddress = getenv('REMOTE_ADDR');
 else
    $ipaddress = 'UNKNOWN';

 return $ipaddress;
}

function ip_details($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$data = curl_exec($ch);
curl_close($ch);

return $data;
}

Под тегом формы контактной формы 7:

Страна [выберите * идентификатор страны: Страна "Пожалуйста, выберите страну" "Соединенные Штаты | США" "Афганистан | AFG" "Албания | ALB" "Алжир | DZA" "Американское Самоа | ASM" ........]

(Примечание: ..... означает список всех определенных стран)

1 Ответ

1 голос
/ 29 января 2020

вы можете использовать этот плагин, чтобы получить детали отслеживания пользователей в форме электронной почты. Информация о стране для контактной формы 7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...