检测国家,显示产品是否在那里可用


Detect country, show if product is available there

我试图显示一个div,这将取决于国家,我有点迷失在如何做到这一点。我的网站在Wordpress上运行。因此,应该发生的情况是,例如,当国家是新加坡,柬埔寨和越南时,会出现特定的部分(如"此产品在新加坡有售"),如果不是这三个国家,则会出现不同的部分(如"此产品在菲律宾无售")

我如何做到这一点?

要找出用户所在的国家,可以使用Sypex Geo: http://sypexgeo.net/ru/download/bsd许可下。不幸的是,它只有俄语文档,但这是如何使用它:

  1. 复制SxGeo.php脚本文件和SxGeo.dat国家数据库文件到您的主机

  2. 在Wordpress主题functions.php中包含SxGeo.php,或者创建一个显示产品可用性信息的小部件并将其包含在那里。

    include('SxGeo.php');

  3. 创建SxGeo对象

    $SxGeo = new SxGeo(); // default mode // or $SxGeo = new SxGeo('SxGeo.dat', SXGEO_BATCH | SXGEO_MEMORY); // fastest mode, uses more RAM

  4. 检测国家。这里认为您已将用户的IP存储在$ip中。关于如何检测用户的IP,我无法给你一个完美的建议,因为用户可能在代理服务器后面。您可能想看看这个主题:如何在PHP中获取客户端IP地址?但是,我相信,在许多情况下,代理服务器和它的用户在同一个国家。

    $ip = $_SERVER['REMOTE_ADDR']; $country = $SxGeo->getCountry($ip); // return two-letters country ISO-code

  5. 删除SxGeo对象,释放资源

    unset($SxGeo);