我试图显示一个div,这将取决于国家,我有点迷失在如何做到这一点。我的网站在Wordpress上运行。因此,应该发生的情况是,例如,当国家是新加坡,柬埔寨和越南时,会出现特定的部分(如"此产品在新加坡有售"),如果不是这三个国家,则会出现不同的部分(如"此产品在菲律宾无售")
我如何做到这一点?
要找出用户所在的国家,可以使用Sypex Geo: http://sypexgeo.net/ru/download/bsd许可下。不幸的是,它只有俄语文档,但这是如何使用它:
-
复制SxGeo.php脚本文件和SxGeo.dat国家数据库文件到您的主机
-
在Wordpress主题functions.php中包含SxGeo.php,或者创建一个显示产品可用性信息的小部件并将其包含在那里。
include('SxGeo.php');
-
创建SxGeo对象
$SxGeo = new SxGeo(); // default mode // or $SxGeo = new SxGeo('SxGeo.dat', SXGEO_BATCH | SXGEO_MEMORY); // fastest mode, uses more RAM
-
检测国家。这里认为您已将用户的IP存储在
$ip
中。关于如何检测用户的IP,我无法给你一个完美的建议,因为用户可能在代理服务器后面。您可能想看看这个主题:如何在PHP中获取客户端IP地址?但是,我相信,在许多情况下,代理服务器和它的用户在同一个国家。$ip = $_SERVER['REMOTE_ADDR']; $country = $SxGeo->getCountry($ip); // return two-letters country ISO-code
-
删除SxGeo对象,释放资源
unset($SxGeo);