WooCommerce plugin must be active for Address Validation & Google Address Auto Complete Plugin for WooCommerce (Basic) to work. ', 'wf-address-autocomplete-validation' ) ); ?>

support.", "wf-address-autocomplete-validation"), "", array('back_link' => 1 )); } else { include_once ('includes/wf_db_migration.php'); } } register_activation_hook( __FILE__, 'wf_address_validation_basic_pre_activation_check' ); //check if woocommerce exists if ( !class_exists( 'woocommerce' ) ) { add_action( 'admin_init', 'my_plugin_deactivate' ); if ( ! function_exists( 'my_plugin_deactivate' ) ) { function my_plugin_deactivate() { if ( !class_exists( 'woocommerce' ) ) { deactivate_plugins( plugin_basename( __FILE__ ) ); wp_safe_redirect( admin_url('plugins.php') ); } }} } if ( ! function_exists( 'woocommerce_version_check' ) ) { function woocommerce_version_check(){ if( ! defined( 'WC_VERSION') ) { define( 'WC_VERSION', WC()->version ); } } } add_action( 'admin_init', 'woocommerce_version_check'); if(!class_exists('Wf_Address_Autocomplete_Validation_Setup')){ //Class - To setup the plugin class Wf_Address_Autocomplete_Validation_Setup { protected $all_settings; //constructor public function __construct() { $this->all_settings = get_option('wf_address_autocomplete_validation_settings'); $this->wf_address_autocomplete_validation_init(); add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'wf_address_autocomplete_validation_plugin_action_links' ) ); } public function wf_get_settings_url(){ return version_compare(WC()->version, '1.0', '>=') ? "wc-settings" : "woocommerce_settings"; } //to add settings url near plugin under installed plugin public function wf_address_autocomplete_validation_plugin_action_links( $links ) { $plugin_links = array( '' . __( 'Settings', 'wf-address-autocomplete-validation' ) . '', '' . __( 'Premium Upgrade', 'wf_estimated_delivery' ) . '', '' . __( 'Support', 'wf-address-autocomplete-validation' ) . '', ); return array_merge( $plugin_links, $links ); } //to include the necessary files for plugin public function wf_address_autocomplete_validation_init() { include_once( 'includes/class-wf-address-autocomplete-validation-settings.php' ); $this->settings = new Wf_Address_Autocomplete_Validation_Settings(); $this->settings->Wf_Address_Autocomplete_Validation_Setup(); $this->enable_autocomplete = isset($this->all_settings[ 'wf_aac_enable_autocomplete' ]) ? $this->all_settings[ 'wf_aac_enable_autocomplete' ] : ''; $this->enable_address_validation = isset($this->all_settings[ 'xa_address_validation' ]) ? $this->all_settings[ 'xa_address_validation' ] : 'none'; if($this->enable_autocomplete == 'yes' && $this->all_settings['wf_address_autocomplete_validation_google_api_key']){ include_once( 'includes/class-wf-address-autocomplete.php' ); new Wf_Address_Autocomplete(); include_once( 'includes/class-wf-address-php_to_js.php' ); } if($this->enable_address_validation === 'easypost'){ include_once( 'includes/class-wf-easypost-address-validation.php' ); new Wf_Address_Validation(); if(!class_exists('EasyPost\EasyPost')){ include_once( 'includes/lib/easypost.php' ); } include_once( 'includes/log.php' ); } } } } //Execute only on dashboard or on network dashboard if(is_admin() || is_network_admin()) { include_once ('includes/wf_db_migration.php'); //To transfer Data from previous database to new database new Wf_Address_Autocomplete_Validation_Setup(); } //To execute only on checkout page when visiting any woocommerce site if( ! function_exists('Wf_Address_Autocomplete_Validation_Setup_call') ) { function Wf_Address_Autocomplete_Validation_Setup_call(){ if(is_checkout()) { new Wf_Address_Autocomplete_Validation_Setup(); } } } add_action('woocommerce_checkout_init','Wf_Address_Autocomplete_Validation_Setup_call'); //If Selects 'Sell to specific countries' in woocommerce settings. add_filter( 'woocommerce_billing_fields', 'xa_filter_state', 10, 1 ); function xa_filter_state( $address_fields ) { $address_fields['billing_state']['class'] = array( 'form-row-wide', 'address-field','update_totals_on_change' ); return $address_fields; } add_filter( 'woocommerce_shipping_fields', 'xa_filter_shipping_state', 10, 1 ); function xa_filter_shipping_state( $address_fields ) { $address_fields['shipping_state']['class'] = array( 'form-row-wide', 'address-field','update_totals_on_change' ); return $address_fields; }