问题是WC_Cart
get_shipping_packages()
方法给出array 装运包装和功能wc_get_shipping_zone( $package )
期望有一个唯一的包作为参数。
因此,您只需要获得一个包,例如使用phpreset()
功能如下:
// Get cart shipping packages
$shipping_packages = WC()->cart->get_shipping_packages();
// Get the WC_Shipping_Zones instance object for the first package
$shipping_zone = wc_get_shipping_zone( reset( $shipping_packages ) );
$zone_id = $shipping_zone->get_id(); // Get the zone ID
$zone_name = $shipping_zone->get_zone_name(); // Get the zone name
// Testing output
echo \'<p>Zone id: \' . $zone_id . \' | Zone name: \' . $zone_name . \'</p>\';
已测试并正常工作。