WC_Shipping_Zone_Data_Store::delete( WC_Shipping_Zone $zone, array $args = array() )
Deletes a shipping zone from the database.
Description Description
Parameters Parameters
- $zone
-
(Required) Shipping zone object.
- $args
-
(Optional) Array of args to pass to the delete method.
Default value: array()
Return Return
(void)
Source Source
File: includes/data-stores/class-wc-shipping-zone-data-store.php
public function delete( &$zone, $args = array() ) {
$zone_id = $zone->get_id();
if ( $zone_id ) {
global $wpdb;
// Delete methods and their settings.
$methods = $this->get_methods( $zone_id, false );
if ( $methods ) {
foreach ( $methods as $method ) {
$this->delete_method( $method->instance_id );
}
}
// Delete zone.
$wpdb->delete( $wpdb->prefix . 'woocommerce_shipping_zone_locations', array( 'zone_id' => $zone_id ) );
$wpdb->delete( $wpdb->prefix . 'woocommerce_shipping_zones', array( 'zone_id' => $zone_id ) );
$zone->set_id( null );
WC_Cache_Helper::invalidate_cache_group( 'shipping_zones' );
WC_Cache_Helper::get_transient_version( 'shipping', true );
do_action( 'woocommerce_delete_shipping_zone', $zone_id );
}
}
Changelog Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |