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

WooCommerce产品尺寸格式调整:仅末尾显示单位的技术需求

修改WooCommerce产品维度显示格式

首先感谢LoicTheAztec提供的基础代码框架!针对你想要的「宽×长×高 单位」格式(示例:200×600×200mm),我们只需要调整单位的添加逻辑——不再给每个维度单独附加单位,而是把所有处理好的数值用「×」连接后,再在末尾统一加上单位。

修改后的完整代码

add_filter( 'woocommerce_format_dimensions', 'custom_formated_product_dimensions', 10, 2 );
function custom_formated_product_dimensions( $dimension_string, $dimensions ){
    if ( empty( $dimension_string ) ) return __( 'N/A', 'woocommerce' );
    
    // 按需求定义维度顺序:宽、长、高
    $new_dimensions = array(
        'width' => $dimensions['width'],
        'length' => $dimensions['length'],
        'height' => $dimensions['height']
    );
    
    // 过滤空值并格式化维度数值(保留本地化小数格式)
    $formatted_values = array_filter( array_map( 'wc_format_localized_decimal', $new_dimensions ) );
    
    // 如果没有有效维度,返回N/A
    if ( empty( $formatted_values ) ) return __( 'N/A', 'woocommerce' );
    
    // 用「×」连接所有数值,再在末尾添加统一单位
    $dimension_unit = get_option( 'woocommerce_dimension_unit' );
    return implode( '×', $formatted_values ) . ' ' . $dimension_unit;
}

关键修改说明

  • 移除了原代码中循环给每个维度加单位的逻辑,改为先处理纯数值部分
  • 用implode( '×', $formatted_values )把所有有效维度数值拼接成「值×值×值」的形式
  • 最后通过get_option( 'woocommerce_dimension_unit' )获取你在WooCommerce后台设置的维度单位,拼在数值串的末尾
  • 额外增加了对空维度数组的二次判断,避免出现只显示单位的异常情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:47:32