我正在尝试禁用Woocommerce购物车中除单个类别外的所有产品的数量更改。
我已经尝试过使用自定义函数来执行此操作,但是它对所有项目都将其禁用。希望只允许更改一种类别的产品数量。到目前为止,我已使用此代码在所有产品上将其禁用:
add_filter( 'woocommerce_cart_item_quantity', 'wc_cart_item_quantity', 10, 3 );
function wc_cart_item_quantity( $product_quantity, $cart_item_key, $cart_item
){
if( is_cart() ){
$product_quantity = sprintf( '%2$s <input type="hidden"
name="cart[%1$s][qty]" value="%2$s" />', $cart_item_key,
$cart_item['quantity'] );
}
return $product_quantity;
}
答案 0 :(得分:0)
您可以使用has_tem()
条件函数来仅定位为购物车项目设置的特定产品类别,例如:
add_filter( 'woocommerce_cart_item_quantity', 'wc_cart_item_quantity', 10, 3 );
function wc_cart_item_quantity( $product_quantity, $cart_item_key, $cart_item ){
$categories = array('disc'); // Define your allowed product category(ies)
if( is_cart() && ! has_term( $categories, $taxonomy, $cart_item['product_id'] ){
$product_quantity = sprintf( '%2$s <input type="hidden"
name="cart[%1$s][qty]" value="%2$s" />', $cart_item_key,
$cart_item['quantity'] );
}
return $product_quantity;
}
代码进入活动子主题(或活动主题)的functions.php文件中。应该可以。