%s', esc_url(admin_url('admin.php?page=aivie-for-woocommerce')), esc_html__('Settings', 'aivie-for-woocommerce') ); array_unshift($links, $settingsLink); return $links; }); // Declare HPOS compatibility before WooCommerce initializes. add_action('before_woocommerce_init', static function (): void { if (class_exists(\Automattic\WooCommerce\Utilities\FeaturesUtil::class)) { \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', AIVIE_WC_FILE, true ); } }); // Autoloader via Composer. if (file_exists(AIVIE_WC_DIR . 'vendor/autoload.php')) { require_once AIVIE_WC_DIR . 'vendor/autoload.php'; } // Bootstrap the plugin after all plugins are loaded. add_action('plugins_loaded', static function (): void { load_plugin_textdomain( 'aivie-for-woocommerce', false, dirname(plugin_basename(__FILE__)) . '/languages' ); \Aivie\WooCommerce\Support\Plugin::getInstance()->init(); }); register_activation_hook(__FILE__, static function (): void { \Aivie\WooCommerce\Support\Plugin::onActivation(); }); register_deactivation_hook(__FILE__, static function (): void { \Aivie\WooCommerce\Support\Plugin::onDeactivation(); });