为WooCommerce商品库存提示新增few-in-stock CSS类需求
给WooCommerce商品页面添加「少量库存」专属CSS类的解决方案
嘿,千万别直接修改stock.php模板文件啊——主题一更新你的改动就丢了!咱们用WooCommerce自带的钩子来优雅实现这个需求,具体操作如下:
1. 用过滤器修改库存类
打开你当前主题(更推荐用子主题,避免主题更新覆盖)的functions.php文件,粘贴这段代码:
add_filter( 'woocommerce_stock_class', 'add_few_in_stock_custom_class', 10, 2 ); function add_few_in_stock_custom_class( $class, $product ) { // 这里设置“少量库存”的阈值,比如库存≤5件时触发 $low_stock_limit = 5; // 只给有库存且数量低于阈值的商品加类 if ( $product->is_in_stock() && $product->get_stock_quantity() <= $low_stock_limit ) { $class .= ' few-in-stock'; } return $class; }
2. 检查效果
添加代码后,当商品库存少于等于你设置的阈值时,库存提示的HTML会变成这样:
<p class="stock in-stock few-in-stock">仅剩3件库存</p>
3. 自定义样式(可选)
现在你可以给.few-in-stock写专属的CSS样式了,比如让它变成醒目的橙色:
.few-in-stock { color: #f39c12; font-weight: 600; border-left: 3px solid #f39c12; padding-left: 8px; }
额外说明
- 如果你的商品是可变商品(有多个规格变体),上面的代码默认判断的是父商品的库存。要是想针对每个变体的库存单独判断,可以在函数里加个判断:
if ( $product->is_type('variation') ),再调整库存获取逻辑。 - 阈值
$low_stock_limit可以随便改,比如改成3、10都没问题,完全看你的业务需求。
内容的提问来源于stack exchange,提问作者Cray
相关产品推荐
相关产品推荐

