WC_Shipping_Zone::add_shipping_method( string $type )
Add a shipping method to this zone.
Description Description
Parameters Parameters
- $type
-
(Required) shipping method type.
Return Return
(int) new instance_id, 0 on failure
Source Source
File: includes/class-wc-shipping-zone.php
public function add_shipping_method( $type ) {
if ( null === $this->get_id() ) {
$this->save();
}
$instance_id = 0;
$wc_shipping = WC_Shipping::instance();
$allowed_classes = $wc_shipping->get_shipping_method_class_names();
$count = $this->data_store->get_method_count( $this->get_id() );
if ( in_array( $type, array_keys( $allowed_classes ), true ) ) {
$instance_id = $this->data_store->add_method( $this->get_id(), $type, $count + 1 );
}
if ( $instance_id ) {
do_action( 'woocommerce_shipping_zone_method_added', $instance_id, $type, $this->get_id() );
}
WC_Cache_Helper::get_transient_version( 'shipping', true );
return $instance_id;
}