简体   繁体   English

获取当前发货区域

[英]Get current shipping zone

I need to calculate how much is it till free shipping.我需要计算免费送货前的价格。 I have two shipping zones and I need to know which is current.我有两个运输区,我需要知道哪个是最新的。 I've only managed to get all shipping zones that are defined but cannot find anything to get me the information about current shipping zone.我只设法获得了所有已定义的运输区域,但找不到任何东西来获取有关当前运输区域的信息。 That has to be changed accordingly to shipping calculator.这必须根据运费计算器进行相应更改。

在此处输入图像描述

Is there a way to get current shipping zone?有没有办法获得当前的运输区域?

function action_woocommerce_cart_totals_after_order_total() {
  echo 'Bis kostenloser versand'; // till free shipping

  $IsValue = WC()->cart->get_subtotal();
  $delivery_zones = WC_Shipping_Zones::get_zones();
  foreach ((array) $delivery_zones as $key => $the_zone ) {
    echo $the_zone['zone_name'];

    // I need to know which is current
  }

};
add_action( 'woocommerce_cart_totals_after_order_total', 'action_woocommerce_cart_totals_after_order_total', 10, 0 );

To get "Get current shipping zone" you can use get_zone_matching_package() for that you have to pass current package that you can get by this WC()->session->get( 'chosen_shipping_methods' )[0] .要获得“获取当前运输区域”,您可以使用get_zone_matching_package() ,因为您必须通过当前的 package ,您可以通过此WC()->session->get( 'chosen_shipping_methods' )[0] try below code.试试下面的代码。

function action_woocommerce_cart_totals_after_order_total() {
    $shipping_id = WC()->session->get( 'chosen_shipping_methods' )[0];
    $packages    = WC()->shipping->get_packages();
    foreach ( $packages as $i => $package ) {
        if ( isset( $package['rates'] ) && isset( $package['rates'][ $shipping_id ] ) ) {
            $package = $package;
            break;
        }
    }
    $shipping_zone = WC_Shipping_Zones::get_zone_matching_package( $package );
    $zone          = $shipping_zone->get_zone_name();
    echo "zone => ".$zone;

};
add_action( 'woocommerce_cart_totals_after_order_total', 'action_woocommerce_cart_totals_after_order_total', 10, 0 );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM