/** * Constructor for your shipping class. */ public function __construct($instance_id = 0) { parent::__construct($instance_id); // FlagShip application context $this->ctx = \FS\Context\ApplicationContext::getInstance(); $this->id = $this->ctx->getComponent('\\FS\\Components\\Settings')['FLAGSHIP_SHIPPING_PLUGIN_ID']; $this->method_title = __('FlagShip Shipping', FLAGSHIP_SHIPPING_TEXT_DOMAIN); $this->method_description = __('Obtains real time shipping rates via FlagShip Shipping API', FLAGSHIP_SHIPPING_TEXT_DOMAIN); $this->supports = array('shipping-zones', 'instance-settings', 'instance-settings-modal', 'settings'); $this->title = __('FlagShip Shipping', FLAGSHIP_SHIPPING_TEXT_DOMAIN); // flagship options $this->enabled = $this->get_instance_option('enabled'); // load components // $this->ctx // ->getComponent('\\FS\\Components\\Hook\\HookManager') // ->registerHook('\\FS\\Components\\Hook\\SettingsFilters'); $this->ctx->getComponent('\\FS\\Components\\Shipping\\Command'); $this->ctx->getComponent('\\FS\\Components\\Url'); $this->ctx->getComponent('\\FS\\Components\\Options')->sync($this->instance_id); $this->isLegacy = \version_compare(WC()->version, '2.6', '<'); $this->init_instance_settings(); $this->init(); }