Я работал и манипулировал dimensions_html
вместо того, чтобы включить все необходимые измерения.Это не элегантное или универсальное решение, но оно работает для меня прямо сейчас.
// functions.php
add_filter( 'woocommerce_format_dimensions', 'change_formated_product_dimentions', 10, 2 );
function change_formated_product_dimentions( $dimension_string, $dimensions ){
global $product;
$cm = get_option( 'woocommerce_dimension_unit' );
$html = '';
if( $dimensions['length'] ){
$html .= '<span><strong>Length</strong> '.$dimensions['length'].' '.$cm.'</span>';
}
if( $dimensions['width'] ){
$html .= '<span><strong>Width</strong> '.$dimensions['width'].' '.$cm.'</span>';
}
if( $dimensions['height'] ){
$html .= '<span><strong>Height</strong> '.$dimensions['height'].' '.$cm.'</span>';
}
$depth = $product->get_meta( '_depth' );
if( $depth ){
$html .= '<span><strong>Depth</strong> '.$depth.' '.$cm.'</span>';
}
$diameter = $product->get_meta( '_diameter' );
if( $diameter ){
$html .= '<span><strong>Diameter</strong> '.$diameter.' '.$cm.'</span>';
}
$seat_height = $product->get_meta( '_seat_height' );
if( $seat ){
$html .= '<span><strong>Seat height</strong> '.$seat_height.' '.$cm.'</span>';
}
return $html;
}
Теперь оно включено в $product['dimensions_html']
и, когда эхо-сигнал приводит к
Length 1 см Ширина 1 см Высота 1 см Глубина 1 см Диаметр 1 см Высота сиденья 1 см
и который (почти) именно то, что я хотел.