Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在WooCommerce中禁用订阅产品的优惠券_Php_Wordpress_Woocommerce_Coupon_Woocommerce Subscriptions - Fatal编程技术网

Php 在WooCommerce中禁用订阅产品的优惠券

Php 在WooCommerce中禁用订阅产品的优惠券,php,wordpress,woocommerce,coupon,woocommerce-subscriptions,Php,Wordpress,Woocommerce,Coupon,Woocommerce Subscriptions,我正在尝试禁用通过“所有订阅产品”加载项设置的WooCommerce订阅的优惠券代码。我尝试了下面的代码片段,但它不是针对通过“AllProductsforSubscription”插件添加的订阅产品。我可能完全走错方向了 我有一个测试产品 下面是我的代码尝试: function sw_wc_apfs_disable_on_susbcription( $is_valid, $product, $instance, $values ) { if ( ! empty( $values[ ‘wcs

我正在尝试禁用通过“所有订阅产品”加载项设置的WooCommerce订阅的优惠券代码。我尝试了下面的代码片段,但它不是针对通过“AllProductsforSubscription”插件添加的订阅产品。我可能完全走错方向了

我有一个测试产品

下面是我的代码尝试:


function sw_wc_apfs_disable_on_susbcription( $is_valid, $product, $instance, $values ) {

if ( ! empty( $values[ ‘wcsatt_data’][ ‘active_subscription_scheme’ ] ) ) {
$is_valid = false;
}

return $is_valid;
}

它不起作用…非常感谢您的帮助。

您的代码有点不完整,因为代码中缺少钩子。你的代码中也有一些错误

只有3个参数
woocommerce\u优惠券\u是有效的
hook,因此您需要遍历购物车项目

下面是两个代码版本:

1) 。对于使用“所有订阅产品”加载项的订阅产品(代码已注释):

add_filter('woocommerce_coups_有效','disable_coups_for_subscription_products',10,3);
功能禁用订阅产品的优惠券($is_valid,$优惠券,$折扣){
//循环浏览购物车项目
foreach(WC()->cart->get_cart()作为$cart_项目){
//使用“用于订阅的所有产品”加载项检查订阅产品
if(isset($cart_项目['wcsatt_数据]['active_订阅方案]]))
&&!空($cart\u item['wcsatt\u data']['active\u subscription\u scheme'])){
$is_valid=false;//找到订阅产品:使优惠券“无效”
break;//停止并退出循环
}
}
return$是有效的;
}
代码进入活动子主题(或活动主题)的function.php文件。它应该有效


2) 。对于普通订阅产品(代码已注释):

add_filter('woocommerce_coups_有效','disable_coups_for_subscription_products',10,3);
功能禁用订阅产品的优惠券($is_valid,$优惠券,$折扣){
//循环浏览购物车项目
foreach(WC()->cart->get_cart()作为$cart_项目){
//检查订阅产品
if(在数组($cart\u item['data']->get\u type(),数组('subscription','subscription\u variation'))中){
$is_valid=false;//找到订阅产品:使优惠券“无效”
break;//停止并退出循环
}
}
return$是有效的;
}

代码进入活动子主题(或活动主题)的function.php文件。已测试并运行。

您的代码有点不完整,因为代码中缺少钩子。你的代码中也有一些错误

只有3个参数
woocommerce\u优惠券\u是有效的
hook,因此您需要遍历购物车项目

下面是两个代码版本:

1) 。对于使用“所有订阅产品”加载项的订阅产品(代码已注释):

add_filter('woocommerce_coups_有效','disable_coups_for_subscription_products',10,3);
功能禁用订阅产品的优惠券($is_valid,$优惠券,$折扣){
//循环浏览购物车项目
foreach(WC()->cart->get_cart()作为$cart_项目){
//使用“用于订阅的所有产品”加载项检查订阅产品
if(isset($cart_项目['wcsatt_数据]['active_订阅方案]]))
&&!空($cart\u item['wcsatt\u data']['active\u subscription\u scheme'])){
$is_valid=false;//找到订阅产品:使优惠券“无效”
break;//停止并退出循环
}
}
return$是有效的;
}
代码进入活动子主题(或活动主题)的function.php文件。它应该有效


2) 。对于普通订阅产品(代码已注释):

add_filter('woocommerce_coups_有效','disable_coups_for_subscription_products',10,3);
功能禁用订阅产品的优惠券($is_valid,$优惠券,$折扣){
//循环浏览购物车项目
foreach(WC()->cart->get_cart()作为$cart_项目){
//检查订阅产品
if(在数组($cart\u item['data']->get\u type(),数组('subscription','subscription\u variation'))中){
$is_valid=false;//找到订阅产品:使优惠券“无效”
break;//停止并退出循环
}
}
return$是有效的;
}
代码进入活动子主题(或活动主题)的function.php文件。测试和工作