如果在 Woocommerce 中应用了任何优惠券,则删除特定状态
Remove specific states if any coupon is applied in Woocommerce
我一直在 google 中寻找解决方案,但我没有找到任何解决方案。如果优惠券处于活动状态,有没有办法隐藏某些状态?
我发现 "" 答案代码适用于支付网关,我正在尝试调整代码以适应以下状态:
add_filter('woocommerce_states', 'applied_coupons_hide_states', 20, 1 );
function applied_coupons_hide_states( $states){
if( sizeof( WC()->cart->get_applied_coupons() ) > 0 ){
foreach ( $states as $state_key => $state_value ) {
if( $state_key != 'LMA,LIM' )
unset($states[$state_key]);
}
}
return $states;
}
但我做不到。我做错了什么?
感谢任何帮助。
你的代码有一些错误......我想相关国家是秘鲁(PE)。尝试以下操作:
add_filter('woocommerce_states', 'applied_coupons_hide_states', 10, 1 );
function applied_coupons_hide_states( $states){
// On cart or checkout pages, if any coupon is applied
if( ( is_cart() || is_checkout() ) && sizeof( WC()->cart->get_applied_coupons() ) > 0 ){
$country = 'PE'; // Defined country: Peru
$targered_states = array('LMA','LIM'); // States to be removed
foreach ( $targered_states as $state_code ) {
if( isset($states['US'][$state_code]) ) {
unset( $states['US'][$state_code] );
}
}
}
return $states;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。测试和工作。
相关胎面:
我一直在 google 中寻找解决方案,但我没有找到任何解决方案。如果优惠券处于活动状态,有没有办法隐藏某些状态?
我发现 "
add_filter('woocommerce_states', 'applied_coupons_hide_states', 20, 1 );
function applied_coupons_hide_states( $states){
if( sizeof( WC()->cart->get_applied_coupons() ) > 0 ){
foreach ( $states as $state_key => $state_value ) {
if( $state_key != 'LMA,LIM' )
unset($states[$state_key]);
}
}
return $states;
}
但我做不到。我做错了什么?
感谢任何帮助。
你的代码有一些错误......我想相关国家是秘鲁(PE)。尝试以下操作:
add_filter('woocommerce_states', 'applied_coupons_hide_states', 10, 1 );
function applied_coupons_hide_states( $states){
// On cart or checkout pages, if any coupon is applied
if( ( is_cart() || is_checkout() ) && sizeof( WC()->cart->get_applied_coupons() ) > 0 ){
$country = 'PE'; // Defined country: Peru
$targered_states = array('LMA','LIM'); // States to be removed
foreach ( $targered_states as $state_code ) {
if( isset($states['US'][$state_code]) ) {
unset( $states['US'][$state_code] );
}
}
}
return $states;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。测试和工作。
相关胎面: