Включите размерные буквы L / W / H в выходные данные измерений в формате WooCommerce

Я пытаюсь изменить размеры вывода, что везде, где get_dimensions() вызывается вместо значения по умолчанию, оно будет содержать букву измерения.

Таким образом, это будет 1 L x 1 W x 1 H вместо 1 x 1 x 1

Могу ли я переписать get_dimensions() функция и включить букву рядом с каждым значением в массиве, или я могу как-то использовать wc_format_dimensions() сделать это?

2

Решение

Обновлено: Вы не можете переопределить get_dimensions() WC_Product метод.

Но вы можете использовать woocommerce_format_dimensions крючок фильтра расположен в wc_format_dimensions() функция, чтобы добавить пользовательские метки к каждому атрибуту продукта измерения, таким образом (так, как вы хотите):

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 ) );
$label_with_dimensions = []; // Initialising

// Loop Though dimensions array
foreach( $dimensions as $key => $dimention )
$label_with_dimensions[$key] = strtoupper( substr($key, 0, 1) ) . ' ' . $dimention;

return implode( ' x ',  $label_with_dimensions) . ' ' . get_option( 'woocommerce_dimension_unit' );
}

Код помещается в файл function.php вашей активной дочерней темы (или темы) или также в любой файл плагина.

Этот код протестирован на версиях WooCommerce 3+ и работает

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]