我正在尝试从购物车页面中删除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 );
答案 0 :(得分:4)
您的代码中存在的问题不仅仅是修复它。
而是使用它:
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;
}
这会将选择字段更改为隐藏字段。因此数量是正确的。与更改sold individually
属性不同,后者将使购物车上的数量仅为1。
答案 1 :(得分:0)
您刚刚错过了函数中的$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 );
答案 2 :(得分:0)
您可以尝试以下代码吗?
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 );