从购物车页面删除 Woocommerce 购物车数量选择器

Remove Woocommerce cart quantity selector from cart page

我正在尝试从购物车页面中删除 Woocommerce 购物车数量选择器。我在我的商店存档页面上使用数量输入字段,并将其应用到购物车页面。我怎样才能删除它并且不允许用户更改它?

我已经尝试使用下面的代码进行以下操作,从官方 Woocommerce 文档中研究和发现,但它不适用规则...

function wc_remove_quantity_field_from_cart() {

if ( is_cart() ) return true;

}

add_filter( 'woocommerce_is_sold_individually', 'wc_remove_quantity_field_from_cart', 10, 2 );

你只是在你的函数中遗漏了 $return$product...下面的函数将与内置挂钩一起工作。

function wc_remove_quantity_field_from_cart( $return, $product ) {

if ( is_cart() ) return true;

}

add_filter( 'woocommerce_is_sold_individually', 'wc_remove_quantity_field_from_cart', 10, 2 );

你能试试下面的代码吗?

function wc_remove_all_quantity_fields( $return, $product ) {
    if(is_cart()){
        return true;
    }
}
add_filter( 'woocommerce_is_sold_individually', 'wc_remove_all_quantity_fields', 10, 2 );

您的代码中存在比修复它更大的问题。

改用这个:

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;
}

这会将 select 字段更改为隐藏字段。因此数量是正确的。与更改 sold individually 属性 不同,后者会使购物车中的数量仅为 1.