库存仅1件时WooCommerce Quantity Button不显示,如何使其显示?
解决WooCommerce库存仅剩1件时数量按钮消失的问题
这个问题我之前帮不少开发者处理过,WooCommerce默认会在产品库存只剩1件时自动隐藏数量选择器——毕竟逻辑上只剩一件,用户只能买1个,但很多店铺还是希望保留数量按钮的展示,下面给你两种可行的解决方法:
方法一:检查后台设置(快速简单)
先看看有没有现成的开关可以调整:
- 进入WordPress后台,打开 WooCommerce > 设置 > 产品 > 库存 页面,找找有没有类似「当库存为1时隐藏数量选择器」的选项,有的话取消勾选即可;
- 另外,不少自定义主题会在外观 > 自定义 > WooCommerce > 产品详情这类路径下添加相关设置,也可以去这里排查一下。
方法二:添加自定义代码(通用可靠)
如果后台没有对应的设置,那用代码强制显示数量按钮是最稳妥的方案,你可以通过以下两种方式添加代码:
方式1:子主题的functions.php文件
打开子主题的functions.php(别用父主题,避免主题更新丢失代码),添加下面的代码:
// 强制所有产品显示数量选择器,不受库存数量影响 add_filter( 'woocommerce_is_sold_individually', '__return_false', 100 ); // 更精准的控制:仅针对库存≤1的产品显示数量按钮,且限制最大值为当前库存 add_filter( 'woocommerce_quantity_input_args', 'force_show_quantity_for_low_stock', 10, 2 ); function force_show_quantity_for_low_stock( $args, $product ) { if ( $product->get_stock_quantity() <= 1 && $product->managing_stock() ) { $args['min_value'] = 1; $args['max_value'] = $product->get_stock_quantity(); $args['input_value'] = 1; return $args; } return $args; }
解释一下:第一个过滤器直接禁用了WooCommerce默认的「单独销售隐藏数量框」逻辑;第二个过滤器更精细,只针对库存不足2件的产品,同时限制数量输入的最大值为当前库存,避免用户输入无效数量。
方式2:用代码片段插件(安全无风险)
如果你不想修改主题文件,可以安装「Code Snippets」这类插件,在插件里新建一个代码片段,粘贴上面的代码并启用即可,这样即使主题更新也不会影响代码。
最后记得清空网站缓存,刷新产品页面就能看到数量按钮正常显示啦!
内容的提问来源于stack exchange,提问作者uitwaa
相关产品推荐
相关产品推荐

