From 0cf9a9a479e9f090db7b1e4c6ecee446741b418c Mon Sep 17 00:00:00 2001 From: Moudud Ahmed Date: Thu, 19 Feb 2026 14:47:27 +0600 Subject: [PATCH 1/2] Fix: Defer Conversion Tracking class and localization initialization --- conversion-tracking.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/conversion-tracking.php b/conversion-tracking.php index 44953b4..9138435 100644 --- a/conversion-tracking.php +++ b/conversion-tracking.php @@ -76,8 +76,9 @@ public function __construct() { $this->define_constants(); $this->init_hooks(); - $this->includes(); - $this->init_classes(); + // Defer heavy includes and class instantiation until WP 'init' + add_action( 'init', array( $this, 'includes' ), 10 ); + add_action( 'init', array( $this, 'init_classes' ), 20 ); register_activation_hook( __FILE__, array( $this, 'activate' ) ); @@ -191,7 +192,8 @@ public function init_hooks() { add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) ); add_action( 'admin_notices', array( $this, 'happy_addons_ads_banner' ) ); - $this->init_tracker(); + // Defer tracker initialization until after localization and integrations + add_action( 'init', array( $this, 'init_tracker' ), 30 ); } /** @@ -363,8 +365,8 @@ function wcct_init() { return WeDevs_WC_Conversion_Tracking::init(); } -// WeDevs_WC_Conversion_Tracking -wcct_init(); +// Instantiate plugin on 'plugins_loaded' to allow localization to be registered +add_action( 'plugins_loaded', 'wcct_init' ); /** * Manage Capability From a44aa3d79e5510f14c8a40d09105a60bc0dedad0 Mon Sep 17 00:00:00 2001 From: Kamruzzaman Date: Mon, 2 Mar 2026 09:59:48 +0600 Subject: [PATCH 2/2] Refactor: Defer initialization of tracker and localization setup for improved performance --- conversion-tracking.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/conversion-tracking.php b/conversion-tracking.php index 9138435..a90739b 100644 --- a/conversion-tracking.php +++ b/conversion-tracking.php @@ -76,9 +76,7 @@ public function __construct() { $this->define_constants(); $this->init_hooks(); - // Defer heavy includes and class instantiation until WP 'init' - add_action( 'init', array( $this, 'includes' ), 10 ); - add_action( 'init', array( $this, 'init_classes' ), 20 ); + $this->includes(); register_activation_hook( __FILE__, array( $this, 'activate' ) ); @@ -187,13 +185,11 @@ public function init_hooks() { add_action( 'plugins_loaded', array( $this, 'plugin_upgrades' ) ); add_action( 'init', array( $this, 'localization_setup' ) ); + add_action( 'init', array( $this, 'init_classes' ) ); add_action( 'admin_notices', array( $this, 'check_woocommerce_exist' ) ); add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) ); add_action( 'admin_notices', array( $this, 'happy_addons_ads_banner' ) ); - - // Defer tracker initialization until after localization and integrations - add_action( 'init', array( $this, 'init_tracker' ), 30 ); } /** @@ -202,6 +198,7 @@ public function init_hooks() { * @return void */ public function init_classes() { + $this->init_tracker(); $this->container['ajax'] = new WCCT_Ajax(); $this->container['event_dispatcher'] = new WCCT_Event_Dispatcher(); $this->container['admin'] = new WCCT_Admin(); @@ -365,8 +362,8 @@ function wcct_init() { return WeDevs_WC_Conversion_Tracking::init(); } -// Instantiate plugin on 'plugins_loaded' to allow localization to be registered -add_action( 'plugins_loaded', 'wcct_init' ); +// WeDevs_WC_Conversion_Tracking +wcct_init(); /** * Manage Capability