/var/www/html_de/wp-content/plugins/woocommerce/src/Utilities/ShippingUtil.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
/**
 * ShippingUtil class file.
 */

declare( strict_types );
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 )
            )
        );
    }
}