is_plugin_active('woocommerce-australia-post-extension-pro/class-australian-post.php')) { add_action('admin_init', array($this, 'deactivate_pro_version')); } //info: Only add the shipping method actions only if WooCommerce is activated. if ($this->is_plugin_active('woocommerce/woocommerce.php')) { add_filter('woocommerce_shipping_methods', array($this, 'add_australia_post_method')); add_action('woocommerce_shipping_init', array($this, 'init_australian_post')); } add_filter('plugin_action_links_' . plugin_basename(__FILE__), array($this, 'plugin_action_links')); } // deactivate the pro version public function deactivate_pro_version() { deactivate_plugins('woocommerce-australia-post-extension-pro/class-australian-post.php'); } public function add_australia_post_method($methods) { if (version_compare(WC()->version, '2.6.0', 'lt')) { $methods['auspost'] = 'WC_Australian_Post_Shipping_Method_Legacy'; } else { $methods['auspost'] = 'WC_Australian_Post_Shipping_Method'; } return $methods; } public function init_australian_post() { require 'class-australian-post.php'; if (version_compare(WC()->version, '2.6.0', 'lt')) { require 'class-australian-post-legacy.php'; } } private function is_plugin_active($slug) { $active_plugins = (array) get_option('active_plugins', array()); if (is_multisite()) { $active_plugins = array_merge($active_plugins, get_site_option('active_sitewide_plugins', array())); } return in_array($slug, $active_plugins) || array_key_exists($slug, $active_plugins); } public function plugin_action_links($links) { $links[] = 'Get the Pro version'; $links[] = 'Support'; return $links; } } new WPRuby_Australia_Post_Lite();