init(); } public function init() { if (!class_exists('WooCommerce')) { add_action('admin_notices', array($this, 'woocommerce_missing_notice')); return; } $this->load_dependencies(); $this->initialize_managers(); UtilsLog::init(); } private function load_dependencies() { $files = array( 'class-db-manager.php', 'class-order-status-manager.php', 'class-order-fields-manager.php', 'class-order-search-manager.php', 'class-bulk-actions-manager.php', 'class-custom-columns-manager.php', 'class-import-manager.php', 'class-order-item-status-manager.php' ); foreach ($files as $file) { require_once plugin_dir_path(__FILE__) . 'includes/' . $file; } } private function initialize_managers() { $this->order_status_manager = new Order_Status_Manager(); $this->order_fields_manager = new Order_Fields_Manager(); $this->order_search_manager = new Order_Search_Manager(); $this->bulk_actions_manager = new Bulk_Actions_Manager(); $this->custom_columns_manager = new Custom_Columns_Manager(); $this->import_manager = new Import_Manager(); $this->order_item_status_manager = new Order_Item_Status_Manager(); } public function woocommerce_missing_notice() { ?>