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();