如何按品类修改WooCommerce商品的库存显示文本?
针对WooCommerce不同品类修改库存显示文本的实现方法
直接通过WooCommerce的过滤器钩子实现,无需额外插件,且不会影响其他品类商品,具体步骤如下:
实现代码
将以下代码添加到你的WordPress主题(推荐子主题)的functions.php文件中,或者使用Code Snippets这类自定义代码插件来添加:
add_filter( 'woocommerce_get_availability_text', 'custom_stock_text_by_product_category', 10, 2 ); function custom_stock_text_by_product_category( $availability_text, $product ) { // 替换为你实际的产品分类slug(可在WooCommerce分类管理页面查看) $floor_cat_slug = 'floors'; $blind_cat_slug = 'blinds'; // 检查当前商品是否属于地板品类 if ( has_term( $floor_cat_slug, 'product_cat', $product->get_id() ) ) { $stock_qty = $product->get_stock_quantity(); $availability_text = sprintf( '%d Boxes in Stock', $stock_qty ); } // 检查当前商品是否属于百叶窗品类 elseif ( has_term( $blind_cat_slug, 'product_cat', $product->get_id() ) ) { $stock_qty = $product->get_stock_quantity(); $availability_text = sprintf( '%d Meters in Stock', $stock_qty ); } // 其他品类保持默认的库存文本 return $availability_text; }
关键说明
- 确认分类Slug:登录后台进入「产品 → 分类」,点击对应分类查看编辑页面,Slug字段的值就是你需要替换到代码中的
$floor_cat_slug和$blind_cat_slug值,比如地板分类的Slug如果是wood-floors,就把代码里的floors改成这个值。 - 代码安全性:不建议直接修改父主题的
functions.php,因为主题更新会覆盖代码;使用子主题或者Code Snippets插件是更稳妥的方式。 - 效果验证:添加代码后,刷新店铺页面,分别查看地板、百叶窗和其他品类的商品,确认库存文本是否按要求显示。
内容的提问来源于stack exchange,提问作者omon
相关产品推荐
相关产品推荐

