WC_Shipping::instance PHP Method

instance() public static method

Ensures only one instance of WC_Shipping is loaded or can be loaded.
Since: 2.1
public static instance ( ) : WC_Shipping
return WC_Shipping Main instance
    public static function instance()
    {
        if (is_null(self::$_instance)) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }

Usage Example

 /**
  * Get shipping zone using it's ID
  * @since 2.6.0
  * @param int $zone_id
  * @return WC_Shipping_Meethod|bool
  */
 public static function get_shipping_method($instance_id)
 {
     global $wpdb;
     $raw_shipping_method = $wpdb->get_row($wpdb->prepare("SELECT instance_id, method_id FROM {$wpdb->prefix}woocommerce_shipping_zone_methods WHERE instance_id = %d LIMIT 1;", $instance_id));
     $wc_shipping = WC_Shipping::instance();
     $allowed_classes = $wc_shipping->get_shipping_method_class_names();
     if (in_array($raw_shipping_method->method_id, array_keys($allowed_classes))) {
         $class_name = $allowed_classes[$raw_shipping_method->method_id];
         return new $class_name($raw_shipping_method->instance_id);
     }
     return false;
 }
All Usage Examples Of WC_Shipping::instance