| Server IP : 62.72.47.131 / Your IP : 216.73.217.34 Web Server : Apache/2.4.66 (Debian) System : Linux 975cdb959a49 5.14.0-611.55.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 19 15:19:29 EDT 2026 x86_64 User : ( 501) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/woocommerce/src/Utilities/ |
Upload File : |
<?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 )
)
);
}
}