2013-08-14 20:00:34 +00:00
< ? php
/**
2015-11-03 13:53:50 +00:00
* Shipping Methods Display
2013-08-14 20:00:34 +00:00
*
* In 2.1 we show methods per package . This allows for multiple methods per order if so desired .
*
2015-11-03 13:31:20 +00:00
* This template can be overridden by copying it to yourtheme / woocommerce / cart / cart - shipping . php .
2015-10-01 14:07:20 +00:00
*
2016-02-12 11:28:41 +00:00
* HOWEVER , on occasion WooCommerce will need to update template files and you
* ( the theme developer ) will need to copy the new files to your theme to
* maintain compatibility . We try to do this as little as possible , but it does
* happen . When this occurs the version of the template file will be bumped and
* the readme will list any important changes .
2015-10-01 14:07:20 +00:00
*
2018-06-01 20:30:01 +00:00
* @ see https :// docs . woocommerce . com / document / template - structure /
2020-08-05 16:36:24 +00:00
* @ package WooCommerce\Templates
2019-01-09 19:39:02 +00:00
* @ version 3.6 . 0
2013-08-14 20:00:34 +00:00
*/
2018-06-01 20:30:01 +00:00
defined ( 'ABSPATH' ) || exit ;
$formatted_destination = isset ( $formatted_destination ) ? $formatted_destination : WC () -> countries -> get_formatted_address ( $package [ 'destination' ], ', ' );
$has_calculated_shipping = ! empty ( $has_calculated_shipping );
$show_shipping_calculator = ! empty ( $show_shipping_calculator );
$calculator_text = '' ;
2013-08-14 20:00:34 +00:00
?>
2018-06-01 20:30:01 +00:00
< tr class = " woocommerce-shipping-totals shipping " >
2015-12-16 13:00:16 +00:00
< th >< ? php echo wp_kses_post ( $package_name ); ?> </th>
< td data - title = " <?php echo esc_attr( $package_name ); ?> " >
2018-06-01 20:30:01 +00:00
< ? php if ( $available_methods ) : ?>
< ul id = " shipping_method " class = " woocommerce-shipping-methods " >
2015-10-13 21:41:17 +00:00
< ? php foreach ( $available_methods as $method ) : ?>
< li >
2015-12-16 13:00:16 +00:00
< ? php
2018-06-01 20:30:01 +00:00
if ( 1 < count ( $available_methods ) ) {
printf ( '<input type="radio" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method" %4$s />' , $index , esc_attr ( sanitize_title ( $method -> id ) ), esc_attr ( $method -> id ), checked ( $method -> id , $chosen_method , false ) ); // WPCS: XSS ok.
} else {
printf ( '<input type="hidden" name="shipping_method[%1$d]" data-index="%1$d" id="shipping_method_%1$d_%2$s" value="%3$s" class="shipping_method" />' , $index , esc_attr ( sanitize_title ( $method -> id ) ), esc_attr ( $method -> id ) ); // WPCS: XSS ok.
}
printf ( '<label for="shipping_method_%1$s_%2$s">%3$s</label>' , $index , esc_attr ( sanitize_title ( $method -> id ) ), wc_cart_totals_shipping_method_label ( $method ) ); // WPCS: XSS ok.
do_action ( 'woocommerce_after_shipping_rate' , $method , $index );
2015-12-16 13:00:16 +00:00
?>
2015-10-13 21:41:17 +00:00
</ li >
< ? php endforeach ; ?>
</ ul >
2018-06-01 20:30:01 +00:00
< ? php if ( is_cart () ) : ?>
< p class = " woocommerce-shipping-destination " >
< ? php
if ( $formatted_destination ) {
// Translators: $s shipping destination.
2019-01-15 17:14:23 +00:00
printf ( esc_html__ ( 'Shipping to %s.' , 'woocommerce' ) . ' ' , '<strong>' . esc_html ( $formatted_destination ) . '</strong>' );
2019-04-23 15:15:05 +00:00
$calculator_text = esc_html__ ( 'Change address' , 'woocommerce' );
2018-06-01 20:30:01 +00:00
} else {
2019-01-15 17:14:23 +00:00
echo wp_kses_post ( apply_filters ( 'woocommerce_shipping_estimate_html' , __ ( 'Shipping options will be updated during checkout.' , 'woocommerce' ) ) );
2018-06-01 20:30:01 +00:00
}
?>
</ p >
< ? php endif ; ?>
2019-01-09 19:32:27 +00:00
< ? php
2018-06-01 20:30:01 +00:00
elseif ( ! $has_calculated_shipping || ! $formatted_destination ) :
2019-10-27 17:36:41 +00:00
if ( is_cart () && 'no' === get_option ( 'woocommerce_enable_shipping_calc' ) ) {
2019-10-27 17:38:47 +00:00
echo wp_kses_post ( apply_filters ( 'woocommerce_shipping_not_enabled_on_cart_html' , __ ( 'Shipping costs are calculated during checkout.' , 'woocommerce' ) ) );
2019-10-27 17:36:41 +00:00
} else {
echo wp_kses_post ( apply_filters ( 'woocommerce_shipping_may_be_available_html' , __ ( 'Enter your address to view shipping options.' , 'woocommerce' ) ) );
}
2018-06-01 20:30:01 +00:00
elseif ( ! is_cart () ) :
2019-01-15 17:14:23 +00:00
echo wp_kses_post ( apply_filters ( 'woocommerce_no_shipping_available_html' , __ ( 'There are no shipping options available. Please ensure that your address has been entered correctly, or contact us if you need any help.' , 'woocommerce' ) ) );
2018-06-01 20:30:01 +00:00
else :
// Translators: $s shipping destination.
echo wp_kses_post ( apply_filters ( 'woocommerce_cart_no_shipping_available_html' , sprintf ( esc_html__ ( 'No shipping options were found for %s.' , 'woocommerce' ) . ' ' , '<strong>' . esc_html ( $formatted_destination ) . '</strong>' ) ) );
2019-04-23 15:15:05 +00:00
$calculator_text = esc_html__ ( 'Enter a different address' , 'woocommerce' );
2018-06-01 20:30:01 +00:00
endif ;
?>
2013-08-14 20:00:34 +00:00
2015-03-10 16:43:02 +00:00
< ? php if ( $show_package_details ) : ?>
2015-12-16 13:00:16 +00:00
< ? php echo '<p class="woocommerce-shipping-contents"><small>' . esc_html ( $package_details ) . '</small></p>' ; ?>
2015-03-10 16:43:02 +00:00
< ? php endif ; ?>
2018-06-01 20:30:01 +00:00
< ? php if ( $show_shipping_calculator ) : ?>
< ? php woocommerce_shipping_calculator ( $calculator_text ); ?>
2015-03-10 16:43:02 +00:00
< ? php endif ; ?>
</ td >
</ tr >