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