361 361Sale WordPress Care by Openbyt · WordPress 修复与运维

如何用代码删除 WooCommerce 产品页的 SKU 显示?完整实用指南

托尼屎大颗
,
如何用代码删除 WooCommerce 产品页的 SKU 显示?完整实用指南

WooCommerce 默认设置中,产品详情页会显示 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(例如仅限“简单商品”),可以使用以下更复杂的代码实现条件判断:

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 定制技巧,打造专业级的电商网站。

需要工程师帮你判断?

把症状、错误提示和最近改动发过来。

我们先判断风险、可能原因和安全下一步,再决定是否需要登录后台或服务器。

开始初诊

需要把这篇文章里的排查落到你的网站上吗?

把网址、错误提示、最近改动和影响范围发过来。我们先判断风险、备份状态和安全下一步;涉及数据库、支付、订单或安全问题时,不建议直接在生产站连续试错。

公开检测 · 无需注册 · 先判断风险 提交后会生成工单编号
初诊阶段不要提交后台、主机、数据库或支付账号密码。
紧急宕机、结账失败、安全跳转优先复核;普通问题通常 1 个工作日内回复。 初诊阶段不需要后台密码;需要权限时会单独确认最小权限和回滚方式。
提交前提醒先保留备份和错误提示,不要在生产站连续试错。