隐藏特定国家/地区的产品价格 WooCommerce

Posted

技术标签:

【中文标题】隐藏特定国家/地区的产品价格 WooCommerce【英文标题】:Hide product prices on specific countries WooCommerce 【发布时间】:2020-09-03 11:29:48 【问题描述】:

我正在尝试从特定国家/地区的 woocommerce 页面隐藏产品价格并添加到购物车按钮。

我找到了Turn Woocommerce shop into catalog for geolocated countries?,但它只适用于一个国家

我找不到解决方案来更改此代码,以便能够定位超过 1 个国家/地区。我用我需要的所有国家/地区制作了一个数组

$countries = array("IT","DE","FR","AT","BE","BG","CY","HR","DK","EE","FI","EL","IE","LV","LT","LU","MT","NL","PL","PT","CZ","RO","SK","SI","ES","SE","HU");

如果有人可以帮助我,那就太好了

【问题讨论】:

你可以使用in_array,所以你得到if ( in_array ( get_geolocated_user_country(), $countries ) ) .. 【参考方案1】:

我相信您已经注意到,该功能不是 WooCommerce 插件核心功能的一部分。

此外,在不知道您已经考虑过哪些插件的情况下,我们可能会两次覆盖同一领域。话虽如此,您肯定会考虑为此使用 3rd 方插件。可能的选项包括:

https://www.extendons.com/product/woocommerce-geolocation-based-products-plugin-geo-ip-filter/ https://codecanyon.net/item/woocommerce-geolocation-plugin-ip-based-products-filter/22022059 https://cyberchimps.com/how-to-redirect-based-on-geolocation-on-wordpress/

注意:您需要联系各个开发人员,以确保他们的产品符合您的项目要求。

【讨论】:

我还没有考虑过插件,因为我使用了我早期在另一个网站上发布的代码并且它有效,因为我只需要为意大利用户显示价格,如果我找不到解决方案我我想我会考虑你发布的插件之一。谢谢!【参考方案2】:

您可以使用下面的这个 sn-p,搭载 WooCommerce 的内置地理位置。您需要确保在 WooCommerce 常规设置中启用了地理位置。

$userLocation = WC_Geolocation::geolocate_ip();
$userCountry = $userLocation['country'];
$countries = array("IT","DE","FR","AT","BE","BG","CY","HR","DK","EE","FI","EL","IE","LV","LT","LU","MT","NL","PL","PT","CZ","RO","SK","SI","ES","SE","HU");
    
if ( in_array($userCountry, $countries) )  
    // your code here to hide price & add to cart

这里的地理位置信息:https://woocommerce.github.io/code-reference/classes/WC-Geolocation.html

【讨论】:

以上是关于隐藏特定国家/地区的产品价格 WooCommerce的主要内容,如果未能解决你的问题,请参考以下文章

IabHelper queryInventory() 返回产品的基本价格

如何显示/隐藏来自特定国家/地区的内容 [关闭]

在多个国家/地区可用的 SQL SELECT 产品

隐藏产品价格并禁用 Woocommerce 中特定产品类别的添加到购物车

如何从 android 应用程序内部了解用户 google play 国家/地区?

IQKeyBoardManager :隐藏特定文本字段的键盘