【问题标题】:Allow cart item quantity update for only one product category in Woocommerce在 Woocommerce 中仅允许一个产品类别的购物车项目数量更新
【发布时间】:2019-10-20 04:50:45
【问题描述】:

我正在尝试禁用 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;
}

【问题讨论】:

    标签: php wordpress woocommerce cart product-quantity


    【解决方案1】:

    您可以使用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 文件中。它应该可以工作。

    【讨论】:

    • 非常好,现在看看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 2023-04-05
    相关资源
    最近更新 更多