at path:
ROOT
/
wp-content
/
plugins
/
woocommerce
/
src
/
Utilities
/
ShippingUtil.php
run:
R
W
Run
ArrayUtil.php
12.99 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
CallbackUtil.php
4.4 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
DiscountsUtil.php
1.1 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
FeaturesUtil.php
5.19 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
I18nUtil.php
1.69 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
LoggingUtil.php
3.18 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
NumberUtil.php
7.11 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
OrderUtil.php
9.19 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
PluginUtil.php
12.99 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
RestApiUtil.php
5.01 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
ShippingUtil.php
1020 By
2026-04-15 05:42:47
R
W
Run
Delete
Rename
StringUtil.php
5.09 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
TimeUtil.php
1.16 KB
2026-04-15 05:42:47
R
W
Run
Delete
Rename
error_log
up
📄
ShippingUtil.php
Save
<?php /** * ShippingUtil class file. */ declare( strict_types = 1 ); namespace Automattic\WooCommerce\Utilities; /** * The ShippingUtil class provides utilities for working with shipping and shipping packages. */ class ShippingUtil { /** * Get the selected shipping rates from the packages. * * @param array $packages The packages to get the selected shipping rates from. * @return \WC_Shipping_Rate[] The selected shipping rates. */ public static function get_selected_shipping_rates_from_packages( $packages ) { return array_filter( array_map( function ( $package_id, $package ) { $selected_rate_id = wc_get_chosen_shipping_method_for_package( $package_id, $package ); $selected_rate = false !== $selected_rate_id && isset( $package['rates'][ $selected_rate_id ] ) ? $package['rates'][ $selected_rate_id ] : null; return $selected_rate instanceof \WC_Shipping_Rate ? $selected_rate : null; }, array_keys( $packages ), array_values( $packages ) ) ); } }