define_constants(); // Removed - Defined in main plugin file $this->init_hooks(); } /** * Define plugin constants - Removed */ // private function define_constants(): void // { // define('QBND_VERSION', '1.0.0'); // define('QBND_PLUGIN_DIR', plugin_dir_path(dirname(__FILE__))); // define('QBND_PLUGIN_URL', plugin_dir_url(dirname(__FILE__))); // } /** * Initialize plugin hooks */ private function init_hooks(): void { // Check if WooCommerce is active if (!$this->is_woocommerce_active()) { add_action('admin_notices', [$this, 'woocommerce_missing_notice']); return; } // Load required files $this->load_required_files(); // Initialize components add_action('init', [$this, 'init_components'], 0); } /** * Check if WooCommerce is active */ private function is_woocommerce_active(): bool { return in_array( 'woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')) ); } /** * Display WooCommerce missing notice */ public function woocommerce_missing_notice(): void { ?>