Register hooks in constructor like AdminController

This commit is contained in:
2026-01-22 00:07:27 +01:00
parent 27dc1b67c5
commit 8ada21afb0

View File

@@ -21,27 +21,30 @@ class AnalyticsController
public function __construct(LicenseManager $licenseManager) public function __construct(LicenseManager $licenseManager)
{ {
$this->licenseManager = $licenseManager; $this->licenseManager = $licenseManager;
$this->registerHooks();
} }
/** /**
* Initialize analytics hooks * Register WordPress hooks
*/ */
public function init(): void private function registerHooks(): void
{ {
// Add submenu under WooCommerce Analytics // Add submenu under WooCommerce menu
add_action('admin_menu', [$this, 'addAnalyticsSubmenu'], 99); add_action('admin_menu', [$this, 'addAnalyticsSubmenu']);
// Register REST API endpoints for analytics data // Register REST API endpoints for analytics data
add_action('rest_api_init', [$this, 'registerRestRoutes']); add_action('rest_api_init', [$this, 'registerRestRoutes']);
// Add license stats to WooCommerce Admin data registry // Add license stats to WooCommerce Admin data registry
add_action('admin_enqueue_scripts', [$this, 'enqueueAnalyticsData']); add_action('admin_enqueue_scripts', [$this, 'enqueueAnalyticsData']);
}
// Add analytics navigation item (WC Admin) /**
add_filter('woocommerce_navigation_menu_items', [$this, 'addNavigationItem']); * Initialize analytics hooks (kept for backwards compatibility)
*/
// Register WooCommerce Analytics report page public function init(): void
add_filter('woocommerce_analytics_report_menu_items', [$this, 'addAnalyticsReportMenuItem']); {
// Hooks are now registered in constructor
} }
/** /**