如何在 woocommerce 商店的下拉列表中获取并自动显示访问者的地理位置数据(国家/地区)

Posted

技术标签:

【中文标题】如何在 woocommerce 商店的下拉列表中获取并自动显示访问者的地理位置数据(国家/地区)【英文标题】:How to obtain and auto display visitor's geolocation data(country) on dropdown for woocommerce shop 【发布时间】:2016-02-16 11:12:13 【问题描述】:

我不知道如何在安装了 woocommerce 的 WP 上输出用户的地理位置。 根据我的研究,我需要使用 geolocate_ip 函数 https://docs.woothemes.com/wc-apidocs/class-WC_Geo_IP.html

我试过这个,但找不到这个功能。我确信我不知道自己在做什么。

<?php 
$glctest = geolocate_ip( $ip_address = 'get_ip_address()', $fallback = true );
echo $glctest; ?>

除此之外,我要学习的下一件事是如何根据他的地理位置在下拉表单中默认国家/地区。如果有人能告诉我如何做到这一点,那就太好了......

【问题讨论】:

【参考方案1】:
<?php 
$e = new WC_Geolocation();
echo $e->get_ip_address();
?>

看看这个!

【讨论】:

【参考方案2】:

您是否在您的服务器或站点上安装了 Geo IP。如果没有,您可以使用 wp-geoip-detect 并在设置中下载当前的 GEO IP lite 数据库。

https://en-gb.wordpress.org/plugins/geoip-detect/

这是我目前使用的,它应该使这个功能工作。 安装后,我可以获得地理位置定位所需的信息

i.e. $record = geoip_detect2_get_info_from_current_ip();
     $this->countryCode = $record->country->isoCode;

【讨论】:

【参考方案3】:

如果您想获取用户在国家或州的位置,您可以使用以下方法...

$wcg = new WC_Geolocation(); echo '<pre>', print_r($wcg->geolocate_ip(), true), '</pre>';

这个 WC_Geolocation 类的官方文档可以在这里找到: https://docs.woocommerce.com/wc-apidocs/class-WC_Geolocation.html

【讨论】:

返回的数组不包含状态。返回的数组如下所示:return array( 'country' => $country_code, 'state' => '', );。您可以在这里查看详细信息:docs.woocommerce.com/wc-apidocs/…

以上是关于如何在 woocommerce 商店的下拉列表中获取并自动显示访问者的地理位置数据(国家/地区)的主要内容,如果未能解决你的问题,请参考以下文章

Woocommerce,基于短代码的产品列表的排序下拉列表

如何将变体库存状态添加到 Woocommerce 产品变体下拉列表

Woocommerce Checkout:在国家下拉列表中添加占位符[重复]

通过单击变体图像 Woocommerce 更改产品变体

在 Woocommerce 结帐页面中添加城市下拉列表

将每页产品下拉列表添加到 woocommerce