211J Countdown Timer for WooCommerce', 'WooCommerce' ); printf( '

%s

', wp_kses_post( $message ) ); } // Main plugin class class Countdown_Timer_For_WooCommerce { private static $instance = null; public static function instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } public function __construct() { add_action( 'init', array( $this, 'init' ) ); } public function init() { // Load plugin classes $this->load_classes(); // Initialize plugin functionality $this->init_hooks(); } private function load_classes() { require_once COUNTDOWN_TIMER_FOR_WOOCOMMERCE_PLUGIN_PATH . 'includes/class-settings.php'; require_once COUNTDOWN_TIMER_FOR_WOOCOMMERCE_PLUGIN_PATH . 'includes/class-countdown-display.php'; require_once COUNTDOWN_TIMER_FOR_WOOCOMMERCE_PLUGIN_PATH . 'includes/class-admin.php'; } private function init_hooks() { // Initialize classes Countdown_Timer_For_WooCommerce_Settings::instance(); Countdown_Timer_For_WooCommerce_Display::instance(); Countdown_Timer_For_WooCommerce_Admin::instance(); } public static function activate() { // Set default settings on activation $default_settings = array( 'cutoff_time' => '14:00', 'message_template' => 'Order within {time} for same-day shipping!', 'enable_weekends' => false, 'urgency_threshold' => 60, 'very_urgent_threshold' => 30 ); if ( ! get_option( 'countdown_timer_for_woocommerce_settings' ) ) { update_option( 'countdown_timer_for_woocommerce_settings', $default_settings ); } } public static function deactivate() { // Clean up if needed } } // Initialize plugin function countdown_timer_for_woocommerce() { return Countdown_Timer_For_WooCommerce::instance(); } // Start the plugin countdown_timer_for_woocommerce(); // Activation/Deactivation hooks register_activation_hook( __FILE__, array( 'Countdown_Timer_For_WooCommerce', 'activate' ) ); register_deactivation_hook( __FILE__, array( 'Countdown_Timer_For_WooCommerce', 'deactivate' ) );