Я пытаюсь использовать геоплагин (этот код работает), но я могу воспользоваться sh, чтобы использовать вывод в нескольких местах. Из-за этого я взял код и добавил его в файл header. php и вызвал переменную в моей теме / inc / partials / header-contact. php. Но значение не отображается:
контакт заголовка. php
<div class="head-contact">
<?php $details = get_field('options_company_details', 'options');
global $telephoneNumber; global $telephoneLink;?>
<span class="phone"><a href="tel:<?php echo $telephoneLink;?>" title="Call Us" onclick="myAjax();" class="gtagc2c"><span class="phone-mob"><i class="fa fa-phone"></i></span><span class="tnumber"></span><?php echo $telephoneNumber;?></a></span>
<p class="tagline"><?php echo $details['options_tagline'];?></p>
</div>
заголовок. php
<?php include_once(get_stylesheet_directory_uri().'/inc/geolocation.php');?>
var_dump в заголовке контакта. php
NULL
var_dump в заголовке. php
NULL
геолокация. php
function getUserIP() {
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP)){$ip = $client;}
elseif(filter_var($forward, FILTER_VALIDATE_IP)){$ip = $forward; }
else { $ip = $remote; } return $ip;
} $user_ip = getUserIP();
$details = get_field('options_company_details', 'options');
$telephoneNumber = $details['options_telephone'];
$getGeoArray = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$user_ip.''));
if(in_array($getGeoArray['geoplugin_city'], $lincolnshire)){$telephoneNumber = 'NUMBER';}
elseif(in_array($getGeoArray['geoplugin_city'], $rutland)){$telephoneNumber = 'NUMBER';}
elseif(in_array($getGeoArray['geoplugin_city'], $northamptonshire)){$telephoneNumber = 'NUMBER';}
elseif(in_array($getGeoArray['geoplugin_city'], $norfolk)){$telephoneNumber = 'NUMBER';}
elseif(in_array($getGeoArray['geoplugin_city'], $cambridgeshire)){$telephoneNumber = 'NUMBER';}
elseif(in_array($getGeoArray['geoplugin_city'], $buckinghamshire)){$telephoneNumber = 'NUMBER';}
elseif(in_array($getGeoArray['geoplugin_city'], $bedfordshire)){$telephoneNumber = 'NUMBER';}
elseif(in_array($getGeoArray['geoplugin_city'], $hertfordshire)){$telephoneNumber = 'NUMBER';}
elseif(in_array($getGeoArray['geoplugin_city'], $essex)){$telephoneNumber = 'NUMBER';}
elseif(in_array($getGeoArray['geoplugin_city'], $leicestershire)){$telephoneNumber = $details['options_telephone'];}
$telephoneLink = str_replace(' ', '', $telephoneNumber);
Я удалил переменные, используемые в in_array()
только для сохранения длины вопроса.
var_dump в геолокации. php
NUMBER