【问题标题】:Woocommerce is it possible to disable quantity field on cart page, for some product?Woocommerce 是否可以为某些产品禁用购物车页面上的数量字段?
【发布时间】:2017-03-01 02:27:08
【问题描述】:

基本上,我已经为我的客户构建了自定义插件。 产品添加到购物车后,结帐前的唯一事情。 用户可以更改产品的数量,是否可以显示选择的数量,但禁用只读选项,以便客户能够在购物车页面中看到他选择但无法更改的数量?

并将其仅应用于与我的插件一起使用的产品,产品 ID 或更好的类别 ID,因为那里的所有产品。 其他产品展示并可定期更改数量 顺便说一句,它的常规产品不是虚拟的,也不是单独出售的,我需要找到一种方法来限制客户仅在购物车页面中更改某些产品的数量!而不是在产品页面中。

非常感谢任何帮助。

【问题讨论】:

标签: wordpress woocommerce hook-woocommerce


【解决方案1】:

如评论中所述,您可以为此使用 woocommerce_cart_item_quantity 过滤器。所以这可能看起来像这样:

function 668763_change_quantity_input( $product_quantity, $cart_item_key, $cart_item ) {
    $product_id = $cart_item['product_id'];
    // whatever logic you want to determine whether or not to alter the input
    if ( $your_condition ) {
        return '<h3>' . $item['quantity'] . '</h3>';
    }

    return $product_quantity;
}
add_filter( 'woocommerce_cart_item_quantity', '668763_change_quantity_input', 10, 3);

这只是一个简单的示例,将输入替换为包含数量的 h3 元素。可以根据自己的喜好轻松调整数量输入元素。

【讨论】:

  • 感谢您的回答,我在使用此功能时收到错误 500,并希望禁用它,以便用户无法更改数量但能够在 "$your_condition" if ( $ product_id == 54) 例如,但是没有运气并得到错误 500
  • 所以我设法通过创建自定义产品类型然后仅隐藏该产品类型的字段来做到这一点 add_filter(function wc_remove_all_quantity_fields($return, $product) { switch ($product->product_type): case "my_photo": return true; 但我注意到一个小问题,您无法选择数量,但它显示该项目只有 1 数量,共 10 个,但价格合适,有什么方法可以修复此错误?
  • 嗨,Deez,我遇到了泡菜。我找到了您的代码(上图)并尝试以“如果数量等于 0.1,则显示 H3 元素”的条件复制它,但是我尝试过的一切似乎都不起作用。我目前有这个 jsFiddle jsfiddle.net/qbyhsosx,你能告诉我我能做些什么来完成这项工作吗??
猜你喜欢
  • 1970-01-01
  • 2021-07-25
  • 2016-01-02
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 2018-07-04
  • 2014-04-20
  • 1970-01-01
相关资源
最近更新 更多