WC_Shipping_Zones::get_shipping_zones
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() 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;
}