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)
{
$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_action('admin_menu', [$this, 'addAnalyticsSubmenu'], 99);
// Add submenu under WooCommerce menu
add_action('admin_menu', [$this, 'addAnalyticsSubmenu']);
// Register REST API endpoints for analytics data
add_action('rest_api_init', [$this, 'registerRestRoutes']);
// Add license stats to WooCommerce Admin data registry
add_action('admin_enqueue_scripts', [$this, 'enqueueAnalyticsData']);
}
// Add analytics navigation item (WC Admin)
add_filter('woocommerce_navigation_menu_items', [$this, 'addNavigationItem']);
// Register WooCommerce Analytics report page
add_filter('woocommerce_analytics_report_menu_items', [$this, 'addAnalyticsReportMenuItem']);
/**
* Initialize analytics hooks (kept for backwards compatibility)
*/
public function init(): void
{
// Hooks are now registered in constructor
}
/**