Зависит конечно от темплейтов темы, можно реализовать так:
1) Шаблоны \woocommerce\checkout\form-checkout.php и \woocommerce\checkout\review-order.php копируйте в вашу текущую тему WP
2) Открываем review-order.php и смотрим секцию tfoot, начинается с
<?php if ( WC()->cart->needs_shipping() && WC()->cart->show_shipping() ) : ?>
Вырезаем кусок до конца и вставляем в нужное место в шаблоне form-checkout.php
По другому ни как! т.к. именно в review-order.php идёт проверка на включение опций Доставки в Woo, если опция включена, идёт проверка и вывод методов доставки
Пример какой кусок вырезается, брал из стандартного шаблона Woo
<?php if ( WC()->cart->needs_shipping() && WC()->cart->show_shipping() ) : ?>
<?php do_action( 'woocommerce_review_order_before_shipping' ); ?>
<?php wc_cart_totals_shipping_html(); ?>
<?php do_action( 'woocommerce_review_order_after_shipping' ); ?>
<?php endif; ?>
<?php foreach ( WC()->cart->get_fees() as $fee ) : ?>
<tr class="fee">
<th><?php echo esc_html( $fee->name ); ?></th>
<td><?php wc_cart_totals_fee_html( $fee ); ?></td>
</tr>
<?php endforeach; ?>
<?php if ( wc_tax_enabled() && ! WC()->cart->display_prices_including_tax() ) : ?>
<?php if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) : ?>
<?php foreach ( WC()->cart->get_tax_totals() as $code => $tax ) : // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited ?>
<tr class="tax-rate tax-rate-<?php echo esc_attr( sanitize_title( $code ) ); ?>">
<th><?php echo esc_html( $tax->label ); ?></th>
<td><?php echo wp_kses_post( $tax->formatted_amount ); ?></td>
</tr>
<?php endforeach; ?>
<?php else : ?>
<tr class="tax-total">
<th><?php echo esc_html( WC()->countries->tax_or_vat() ); ?></th>
<td><?php wc_cart_totals_taxes_total_html(); ?></td>
</tr>
<?php endif; ?>
<?php endif; ?>
3) Обрамите его в теги table и tfoot по аналогии как в шаблоне review-order.php иначе посыпется вёрстка
Метод полностью рабочий, работает на одном проекте