Функция WC_GET_WEIGHT() в WooCommerce
Эта функция используется для нормализации весов, преобразования их в килограммы и затем конвертации в нужные единицы измерения.
Как использовать
Для использования функции вам нужно вызвать её следующим образом:
wc_get_weight(55, 'kg');
wc_get_weight(55, 'kg', 'lbs');
Функция не имеет хуков.
Возвращаемое значение
Функция возвращает число с плавающей точкой (float).
Синтаксис функции
wc_get_weight( $weight, $to_unit, $from_unit );
Параметры функции
- $weight (int|float) (обязательный) — вес, который вы хотите конвертировать.
- $to_unit (string) (обязательный) — единица измерения, в которую нужно конвертировать. Возможные варианты: 'g' (граммы), 'kg' (килограммы), 'lbs' (фунты), 'oz' (унции).
- $from_unit (string) — единица измерения, из которой нужно конвертировать. Возможные варианты: 'g', 'kg', 'lbs', 'oz'. По умолчанию: '' (пусто).
Примеры использования функции
Пример 1: Конвертация 1000 граммов в килограммы
wc_get_weight( 1000, 'kg', 'g' );
Пример 2: Конвертация 1.6 килограмма в граммы
wc_get_weight( 1.6, 'g', 'kg' );
Пример 3: Конвертация веса из килограммов в стандартную единицу веса, установленную в настройках WooCommerce
wc_get_weight( $weight, get_option( 'woocommerce_weight_unit', 'g' ), 'kg' );
Код функции
Вот как выглядит код функции wc_get_weight
:
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' ) );
}
// Сначала переводим все единицы в килограммы.
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;
}
// Переводим в нужную единицу.
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; // Если вес отрицательный, возвращаем 0
}
Связанные функции WooCommerce
��от некоторые связанные функции в WooCommerce, которые могут быть полезны:
get_woocommerce_currencies()
get_woocommerce_currency()
WC()
wc_body_class()
wc_clean()
wc_dropdown_variation_attribute_options()
wc_format_phone_number()
wc_get_cart_url()
wc_get_checkout_url()
wc_get_order()
wc_get_product_id_by_sku()
woocommerce_form_field()
woocommerce_mini_cart()
woocommerce_wp_text_input()
Эти функции помогут вам расширить функционал вашего магазина в WooCommerce и упростят работу с данными.