wc_get_weight()WC 1.0

Преобразовывает вес из килограммов в любую другую единицу измерения и наоборот.

Хуков нет.

Возвращает

float. Преобразованный вес, без указания единицы измерения.

Использование

wc_get_weight( $weight, $to_unit, $from_unit );
$weight(int|float) (обязательный)
Вес.
$to_unit(строка) (обязательный)
Единица измерения, в которую нужно преобразовать. Возможные значения: 'g', 'kg', 'lbs', 'oz'.
$from_unit(строка)
Единица измерения, из которой нужно преобразовать. Возможные значения:'g', 'kg', 'lbs', 'oz'.
По умолчанию: '' - get_option( 'woocommerce_weight_unit' )

Примеры

0

#1 Преобразовать 1000 грамм в килограммы

wc_get_weight( 1000, 'kg, 'g' );
0

#2 Преобразовать 1.6 килограмм в граммы

wc_get_weight( 1.6, 'g, 'kg' );
0

#3 Преобразовать вес из "кг" в единицу веса, выбранную в настройках woocommerce по-умолчанию

wc_get_weight( $weight, get_option('woocommerce_weight_unit', 'g'), 'kg' );

Код wc_get_weight() WC 8.7.0

function wc_get_weight( $weight, $to_unit, $from_unit = '' ) {
	$weight  = (float) $weight;
	$to_unit = strtolower( $to_unit );

	if ( empty( $from_unit ) ) {
		$from_unit = strtolower( get_option( 'woocommerce_weight_unit' ) );
	}

	// Unify all units to kg first.
	if ( $from_unit !== $to_unit ) {
		switch ( $from_unit ) {
			case 'g':
				$weight *= 0.001;
				break;
			case 'lbs':
				$weight *= 0.453592;
				break;
			case 'oz':
				$weight *= 0.0283495;
				break;
		}

		// Output desired unit.
		switch ( $to_unit ) {
			case 'g':
				$weight *= 1000;
				break;
			case 'lbs':
				$weight *= 2.20462;
				break;
			case 'oz':
				$weight *= 35.274;
				break;
		}
	}

	return ( $weight < 0 ) ? 0 : $weight;
}