Вывод списка способов доставки в Woocommerce

Бывают случаи когда нужно вывести список способов доставки товара в любом месте интернет магазина а не только в корзине или на странице checkout, вот один из способов как это можно сделать.

<select name="shipping_method[0]" data-index="0" id="shipping_method_0" class="shipping_method">
<?php
	foreach ( WC()->cart->get_shipping_packages() as $package_id => $package ) {
		if ( WC()->session->__isset( 'shipping_for_package_'.$package_id ) ) {
			$chosen_shipping_methods = WC()->session->get('chosen_shipping_methods'); // Выбранный на данный момент метод доставки
			foreach ( WC()->session->get( 'shipping_for_package_'.$package_id )['rates'] as $shipping_rate_id => $shipping_rate ) {
				$rate_id     = $shipping_rate->get_id(); // То же самое, что и переменная $shipping_rate_id (комбинация метода доставки и идентификатора экземпляра)
				$method_id   = $shipping_rate->get_method_id(); // Ярлык метода доставки (slug)
				$instance_id = $shipping_rate->get_instance_id(); //Экземпляр ID
				$label_name  = $shipping_rate->get_label(); // Имя метки метода
				$cost        = $shipping_rate->get_cost(); // Стоимость без налога
				$tax_cost    = $shipping_rate->get_shipping_tax(); // Стоимость налога
				$taxes       = $shipping_rate->get_taxes(); // Детали налогов (array)
 
				$sel = '';
				if($chosen_shipping_methods[0] == $rate_id)
				{
					$sel = ' selected';
				}
				echo '<option value="'.$rate_id.'"'.$sel.'>'.$label_name.'</option>';
        		}
    		}
	}
?>
</select>

В данном примере вывод данных идет в тэг select, но вы можете оформить данные любым нужным для вас способом.