php对产品添加属性,php – 隐藏特定属性值的Woocommerce产品变体中的添加到购物车按钮...

在Woocommerce中,我正在尝试隐藏“添加到购物车”按钮,以获取其中一个属性的特定选定值的变体.每个变体有两个属性(pa_color和pa_size)

例如,对于可变产品,我们有以下选项:

1)红色 – XL

2)红色 – XXL

3)蓝色 – M.

4)蓝色 – XL

我想隐藏XL的添加到购物车按钮,因此用户无法添加XL到购物车的选项(在此示例中为1和4)

P.S:

我们不想禁用变体,因此可以通过选择此选项来显示变体图像,因此停用变体或删除价格和…不是我们的解决方案.

解决方法:

以下是在产品变体上使添加到购物车按钮处于非活动状态的方法,产品属性“pa_size”具有“XL”值:

add_filter( 'woocommerce_variation_is_purchasable', 'conditional_variation_is_purchasable', 20, 2 );

function conditional_variation_is_purchasable( $purchasable, $product ) {

## ---- Your settings ---- ##

$taxonomy = 'pa_size';

$term_name = 'XL';

## ---- The active code ---- ##

$found = false;

// Loop through all product attributes in the variation

foreach ( $product->get_variation_attributes() as $variation_attribute => $term_slug ){

$attribute_taxonomy = str_replace('attribute_', '', $variation_attribute); // The taxonomy

$term = get_term_by( 'slug', $term_slug, $taxonomy ); // The WP_Term object

// Searching for attribute 'pa_size' with value 'XL'

if($attribute_taxonomy == $taxonomy && $term->name == $term_name ){

$found = true;

break;

}

}

if( $found )

$purchasable = false;

return $purchasable;

}

代码位于活动子主题(或主题)的function.php文件中.经过测试和工作.

标签:php,wordpress,woocommerce,custom-taxonomy,variations

来源: https://codeday.me/bug/20191002/1844788.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值