自定义前端输出的产品尺寸+更改尺寸标题

Customizing product dimensions output on front end + change dimensions title

使用 "" 答案代码我想将输出显示为:

尺寸:D40 x W45 x H60(厘米)

感谢任何帮助。

只需在您的活动主题中添加以下代码片段 functions.php 即可实现上述目标 -

function woocommerce_display_product_attributes( $product_attributes, $product ){
    if( !isset( $product_attributes['dimensions'] ) ) return $product_attributes;

    $modified_dimensions = array();
    foreach ( $product->get_dimensions( false ) as $key => $value ) {
        if( $key == 'length' )
            $modified_dimensions[$key] = 'D'.$value;
        if( $key == 'width' )
            $modified_dimensions[$key] = 'W'.$value;
        if( $key == 'height' )
            $modified_dimensions[$key] = 'H'.$value;
    }
    $dimension_string = implode( ' × ', array_filter( array_map( 'wc_format_localized_decimal', $modified_dimensions ) ) );

    if ( ! empty( $dimension_string ) ) {
        $dimension_string .= ' (' . get_option( 'woocommerce_dimension_unit' ) . ')';
    } else {
        $dimension_string = __( 'N/A', 'woocommerce' );
    }
    // change dimensions label & value.
    $product_attributes['dimensions']['label']  = __( 'Size', 'text-domain' );
    $product_attributes['dimensions']['value']  = $dimension_string;
    return $product_attributes;
}
add_filter( 'woocommerce_display_product_attributes', 'woocommerce_display_product_attributes', 99, 2 );

欢迎使用 Whosebug! 尝试更简单的代码(已测试):

add_filter( 'woocommerce_format_dimensions', 'custom_formated_product_dimentions', 10, 2 );
function custom_formated_product_dimentions( $dimension_string, $dimensions ){
    if ( empty( $dimension_string ) )
        return __( 'N/A', 'woocommerce' );

    $dimensions = array_filter( array_map( 'wc_format_localized_decimal', $dimensions ) );

    return 'D'.$dimensions['length'].' x W'.$dimensions['width'].' x H'.$dimensions['height'].' ('.get_option( 'woocommerce_dimension_unit' ).')';
}