- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现下面的代码看起来应该可以实现我想要的功能。但经测试,它不起作用。
我们需要在某些州取消第二天的空运。例如,我们位于宾夕法尼亚州,如果有人从那里购买,我们不希望显示该选项。
add_filter( 'woocommerce_package_rates', 'unset_ups_shipping_rates_for_specific_states' , 10, 2 );
function unset_ups_shipping_rates_for_specific_states( $rates, $package ) {
// Setup an array of states that do not allow UPS Shipping 2nd Day Air. As of 10/18/2015 we added 3 days ground too.
$excluded_states = array( 'FL','AL','KY','LA','MS','TN','GA','SC','NC','KY','DC','VA','AR','CT','DE','IL','IN','KS','MA','ME','MD','MN','MI','MO','NH','NJ','NY','OH','OK','PA','RI','TX','VT','WV','WI' );
foreach ( WC()->cart->get_shipping_packages() as $package ) {
if( in_array( $package, $excluded_states ) ) :
unset( $rates['sups:02:0'] ); // Unset 2-Day Air
unset( $rates['ups:02'] );
unset( $rates['sups:12:0'] ); // Unset 3-Day Select too
unset( $rates['ups:12'] );
else:
unset( $rates['sups:03:0'] ); // Unset Ground
unset( $rates['ups:03'] );
endif;
}
// Return what's left of the $rates array
return $rates;
}
如何使此代码能够根据州取消设置特定的运输方式?
编辑:使用 Aztec 的答案,我做了一个 var_dump($rates) 因为它不起作用并得到:
array(2) {
["UPS-Ground"]=> object(WC_Shipping_Rate)#1486 (6) {
["id"]=> string(10) "UPS-Ground"
["label"]=> string(10) "UPS Ground"
["cost"]=> string(5) "11.60"
["taxes"]=> array(0) { }
["method_id"]=> string(20) "easypostshippingtool"
["meta_data":"WC_Shipping_Rate":private]=> array(0) { }
}
["UPS-2ndDayAir"]=> object(WC_Shipping_Rate)#1514 (6) {
["id"]=> string(13) "UPS-2ndDayAir"
["label"]=> string(13) "UPS 2ndDayAir"
["cost"]=> string(5) "23.31"
["taxes"]=> array(0) { }
["method_id"]=> string(20) "easypostshippingtool"
["meta_data":"WC_Shipping_Rate":private]=> array(0) { }
}
}
您认为 easypostshippingtool 是否会干扰解决方案?另外,我不确定#1486 是什么。如果我将代码放入文本编辑器中,它会注释掉代码。
最佳答案
相反,您应该直接使用 Hook 函数中提供的 $package
参数来以这种方式获取客户目标状态:
add_filter( 'woocommerce_package_rates', 'shipping_rates_for_specific_states', 10, 2 );
function shipping_rates_for_specific_states( $rates, $package ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
# Setup an array of states that do not allow UPS Shipping 2nd Day Air.
# As of 10/18/2015 we added 3 days ground too.
$excluded_states = array(
'FL','AL','KY','LA','MS','TN','GA','SC','NC','KY',
'DC','VA','AR','CT','DE','IL','IN','KS','MA','ME',
'MD','MN','MI','MO','NH','NJ','NY','OH','OK','PA',
'RI','TX','VT','WV','WI'
);
$destination_state = $package['destination']['state'];
if( in_array( $destination_state, $excluded_states ) ) {
unset( $rates['sups:02:0'] ); // Unset 2-Day Air
unset( $rates['ups:02'] );
unset( $rates['sups:12:0'] ); // Unset 3-Day Select too
unset( $rates['ups:12'] );
} else {
unset( $rates['sups:03:0'] ); // Unset Ground
unset( $rates['ups:03'] );
}*/
return $rates;
}
此代码位于事件子主题(或主题)的 function.php 文件中或任何插件文件中。
此代码在 WooCommerce 2.6.x 到 3.0+ 上进行了测试,应该适用于您的自定义费率。
You will need to refresh shipping cached data: disable, save and enable, save related shipping methods for the current shipping zone, in woocommerce shipping settings.
相关答案:Tiered Shipping with multiple Shipping rates options and prices
关于php - 根据州删除特定的 WooCommerce 运输方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43574300/
我的所有照片上都有 GPS 坐标。我想包括城市、州、 zip 等的标签/IPTC 数据。但是我只有 GPS 坐标。我怎样才能以自动化的方式获取这些并获得有意义的信息(我有成千上万张照片,所以将每一张都
在我的网络应用程序中,我有以下要求。 我需要一个国家/地区的下拉列表。 根据选择的国家/地区,我需要显示相应的州。 我需要从数据库中获取国家/地区和州。 我无法使用 JavaScript,因为在生产(
var geocoder = new google.maps.Geocoder(); geocoder.geocode({'latLng': foundLoc}, functi
我正在构建一个代表美国州或加拿大省的类。这个类应该叫什么? 一些想法: 地区:问题在于 .Net 有一个 RegionInfo 类,它使用术语 Region 来表示一个国家(而不是州或省)。 状态:这
我正在尝试使用这个 jQuery 示例来拉回城市和州名称组合。我想知道有什么办法可以拉回实际的州名而不是缩写吗?例如:它当前返回爱达荷州博伊西,我想要爱达荷州博伊西... http://jqueryu
如何使用 API 获取国家/地区、州/地区 我是 ajax 新手,所以任何人都可以帮助我,提前致谢 Ajax $(document).ready(function(){ let api_ur
我是 SQL 和关系数据库新手,我遇到了一个常见问题。 我正在制作一个网站,当每个用户提交帖子时,他们必须提供邮政编码或城市/州的位置。 处理此问题的最佳做法是什么?我是否只需创建一个邮政编码、城市和
所以我有一个使用这个 importJSON script 的 google 表格将城市和州列表添加到 google 表格中。随着用户在我们网站上添加城市(反射(reflect)在我们的 JSON 文件
我有像国家/州和城市这样的下拉列表。有什么办法可以等到人口下降后再继续进行吗?就像首先加载国家/地区,然后根据选择的国家/地区然后加载州/省,与城市相同...... function populate
我正在开发一个可以帮助我提高 OO 设计技能的应用程序。我几乎完成了作业,但我觉得我需要让我的应用程序更具可扩展性,并且需要一些关于如何实现这一目标的意见。 问题域可以概括如下: 问题域是设计购物车应
如何使用单一选择器 Objective-C 来管理国家/州/城市的值(value)? 当我尝试它时,它会因索引更改而崩溃。它适用于城市城市和州,但与城市有关。哪个库会更好用? 查看下面的代码 - (v
我正在尝试从数据库“零售商”中提取并按国家/地区显示它们,美国是第一个。然后在其中按州字母顺序排序,然后按每个州内的名称排序。 它应该像这样打印...... 美国 Alabama Acme
我有 1 个静态(国家/地区)和 2 个动态(州和城市)下拉选择。 我正在与 Select2 合作。 例如,荷兰每个州都有大量城市。加载这个很难使用。 在我的用户端页面上如果有以下 JS: $(".s
我让我的用户输入他们的城市、州和国家。但我的困境是如何动态管理它,以便我可以控制输入的内容,同时具有正确的拼写和格式。 例如,我目前每个州都有一个静态下拉菜单。 Alabama
我正在寻找一种有效的方式来表示和检索地理关系,例如。地区->州->美国。这应该适应任何级别的层次结构,例如。 district->region->states->big region(East/wes
我正在开发一个应用程序,其中实体位于地球上的位置。我想要一组数据,从中我可以确定一个点包含在哪个或哪些区域。 区域可以是以下类型: 大陆 国家 湖 大海 非军事区 沙漠 冰架 ...等等。 我设想将每
我正在为一个小众服务创建一个国家目录。我认为应该将结构分解为两种格式之一,但我愿意接受建议。 site.com/category/subcategory/state/city 或 site.com/s
我计划通过将 Locations 表中的 locationID 提供给 User 表中的每个用户来规范化,而不是为共享同一位置的多个用户输入重复的用户位置,这样我就不必重复输入 Country、Sta
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Database of Countries and their Cities 好的,这是一个非技术问题。我正
GMSReverseGeocodeResponse 包含 - (GMSReverseGeocodeResult *)firstResult; 其定义如下: @interface GMSReverseG
我是一名优秀的程序员,十分优秀!