在 WooCommerce 默认设置中,产品详情页会显示 SKU(库存单位)字段,用于区分商品库存。但在很多场景下,商家并不希望把 SKU 直接展示给用户,例如:
商品为定制产品,不用公开编号
页面视觉设计要求极简
SKU 对客户没有实际参考价值
下面会介绍如何用一段简单代码,隐藏 WooCommerce 产品页的 SKU 显示内容,不用插件,快速生效。
一、隐藏 SKU 显示的实现方式
想隐藏 WooCommerce 产品页的 SKU 显示?很简单!WooCommerce 是通过钩子(hook)机制来展示 SKU 的,只需要解除这个钩子就能轻松去掉它。下面是具体操作步骤:
1. 打开主题的 functions.php 文件
可以通过以下路径找到该文件:
WordPress 后台 → 外观 → 主题文件编辑器 → functions.php
建议使用子主题或代码片段插件(如 Code Snippets)进行修改,避免主题更新后被覆盖。
2. 添加以下代码
add_filter( ‘wc_product_sku_enabled’, ‘__return_false’ );
这段代码的含义是:把WooCommerce 中用来控制 SKU 显示的过滤器 wc_product_sku_enabled 设置为 false,禁用前台的 SKU 显示功能。
添加代码前:
二、验证效果
添加代码后:
保存并刷新产品页面后,会发现 SKU 不再显示在产品摘要信息中,也不会影响后台编辑页面中对 SKU 的管理。这意味着:
后台还可以输入和保存 SKU 信息
SKU 可用于订单管理、库存控制
前端访客会看不到 SKU 字段
三、补充:只隐藏简单商品的 SKU?
如果只想隐藏某一类商品的 SKU(例如仅限“简单商品”),可以使用以下更复杂的代码实现条件判断:
add_filter( ‘wc_product_sku_enabled’, ‘custom_hide_sku_for_simple_products’, 10, 2 );
function custom_hide_sku_for_simple_products( $enabled, $product ) {
if ( is_product() && $product->is_type( ‘simple’ ) ) {
return false;
}
return $enabled;
}
这个代码的逻辑是:只在单个产品页(is_product())且商品类型为“simple”时,才禁用 SKU 显示,其他商品类型还保留。
四、常见问题解答
Q1:这段代码对变体商品也有效吗?
默认的 add_filter( ‘wc_product_sku_enabled’, ‘__return_false’ ); 会影响所有商品类型,包括可变商品(variable)、分组商品(grouped)等。
如果只想屏蔽某些类型,参考上面提供的第二段代码并根据需要调整判断条件。
Q2:如何恢复 SKU 显示?
只要把添加的代码删除或注释掉,刷新页面就可以恢复默认显示。
五、结论
不用安装插件,不用修改模板,只要在主题的 functions.php 文件添加一行代码就可以让 WooCommerce 产品页更简洁。这是优化产品页面的第一步,后续我们还会分享更多 WooCommerce 定制技巧,打造专业级的电商网站。