load_dependencies(); // Bypass SSL verification and allow local requests for development add_filter( 'http_request_args', array( $this, 'bypass_local_ssl_verify' ), 10, 2 ); add_filter( 'http_request_host_is_external', '__return_true' ); add_filter( 'allow_localhost', '__return_true' ); // Load WooCommerce logic (needed for Both Admin and REST API callbacks) if ( class_exists( 'WooCommerce' ) ) { require_once RECOMAI_PLUGIN_DIR . 'includes/class-woocommerce.php'; $woocommerce = new RecomAI_WooCommerce(); $woocommerce->init(); } if ( is_admin() ) { $admin = new RecomAI_Admin(); $admin->init(); } else { $injector = new RecomAI_Injector(); $injector->init(); } } private function load_dependencies() { require_once RECOMAI_PLUGIN_DIR . 'includes/class-api.php'; require_once RECOMAI_PLUGIN_DIR . 'includes/class-admin.php'; require_once RECOMAI_PLUGIN_DIR . 'includes/class-injector.php'; } /** * Fix for "cURL error 60: self-signed certificate" on local environments. */ public function bypass_local_ssl_verify( $args, $url ) { $local_domains = array( '.local', 'localhost', '127.0.0.1' ); foreach ( $local_domains as $domain ) { if ( strpos( $url, $domain ) !== false ) { $args['sslverify'] = false; break; } } return $args; } }