You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止WooCommerce将SKU中的1/4文本转换为分数格式?

阻止WooCommerce将SKU中的1/4转换为分数格式

我们的变体SKU是W-250-1/4(其中1/4代表提升速度),但WooCommerce会自动把这段文本转换成分数格式:

SKU输入界面

实际前端显示效果如下:

SKU实际显示效果

奇怪的是,其他类似结构的SKU(比如W-250-2/8和W-250-3/12)却没有出现这个问题。

目前我们只能临时在数字间加空格写成1 / 4,但这不符合我们的文档规范。有没有办法阻止WooCommerce的这种自动转换?


可行的解决方法

1. 用HTML实体替换斜杠

把SKU里的斜杠/换成HTML实体/,也就是将W-250-1/4改为W-250-1/4。这样WooCommerce会把它识别为普通文本,不会转换成分数,前端显示时仍然会正常显示为1/4,完美匹配你的文档规范。

2. 添加自定义代码禁用SKU自动格式化

在当前主题的functions.php文件中添加以下代码:

// 禁用SKU的自动格式化
add_filter( 'woocommerce_format_sku', function( $formatted_sku, $sku, $product ) {
    return $sku; // 直接返回原始SKU文本
}, 10, 3 );

这段代码会强制WooCommerce输出原始的SKU内容,跳过所有自动格式化步骤,从根源上阻止分数转换。

3. 针对性禁用WordPress文本美化功能

如果是WordPress的wptexturize函数导致的自动转换,可以添加代码在获取SKU时临时关闭该功能:

add_filter( 'woocommerce_product_get_sku', function( $sku ) {
    remove_filter( 'the_content', 'wptexturize' );
    return $sku;
} );

add_filter( 'woocommerce_product_variation_get_sku', function( $sku ) {
    remove_filter( 'the_content', 'wptexturize' );
    return $sku;
} );

这个方法仅针对SKU字段生效,不会影响网站其他内容的文本格式。


内容的提问来源于stack exchange,提问作者stratalign_nz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 02:16:06