WC_Shipping_Zones::get_shipping_zonespublic staticWC 1.0

Retrieve Shipping_Zone data objects for the given zone_ids.

Method of the class: WC_Shipping_Zones{}

No Hooks.

Returns

WC_Shipping_Zone[].

Usage

$result = WC_Shipping_Zones::get_shipping_zones( ?array $zone_ids );
?array $zone_ids
.
Default: null

WC_Shipping_Zones::get_shipping_zones() code WC 10.8.1

public static function get_shipping_zones( ?array $zone_ids = null ) {
	$data_store = WC_Data_Store::load( 'shipping-zone' );
	if ( null === $zone_ids ) {
		$raw_zones = $data_store->get_zones();
		$zone_ids  = array_column( $raw_zones, 'zone_id' );
	} elseif ( empty( $zone_ids ) ) {
		return array();
	}

	$zones = array();
	foreach ( $zone_ids as $zone_id ) {
		$zone = new WC_Shipping_Zone();
		$zone->set_object_read( false );
		$zone->set_id( $zone_id );
		$zones[ $zone_id ] = $zone;
	}

	if ( ! empty( $zones ) ) {
		$data_store->read_multiple( $zones );
	}

	return $zones;
}