init_default_settings(); } private function init_default_settings() { $this->default_settings = [ 'general' => [ 'enable_popups' => true, 'load_assets_globally' => false, 'debug_mode' => false, 'analytics_tracking' => true, ], 'appearance' => [ 'default_animation' => 'fade', 'animation_duration' => 400, 'overlay_color' => 'rgba(0, 0, 0, 0.7)', 'close_button_position' => 'top-right', 'close_button_style' => 'icon', 'z_index' => 999999, ], 'behavior' => [ 'prevent_scroll' => true, 'close_on_overlay_click' => true, 'close_on_esc_key' => true, 'auto_focus' => true, 'mobile_behavior' => 'responsive', ], 'advanced' => [ 'cookie_expiration' => 30, 'test_mode' => false, 'test_mode_ips' => '', 'disable_on_mobile' => false, 'custom_css' => '', 'custom_js' => '', ], 'integrations' => [ 'google_analytics' => false, 'google_analytics_event' => 'popup_view', 'facebook_pixel' => false, 'facebook_pixel_event' => 'ViewContent', 'mailchimp_api' => '', 'mailchimp_list_id' => '', ], 'performance' => [ 'lazy_load' => true, 'preload_fonts' => false, 'minify_css' => true, 'minify_js' => true, 'cache_duration' => 3600, ] ]; } public function get_settings($section = null) { $saved_settings = get_option('jltma_popup_settings', []); $settings = wp_parse_args($saved_settings, $this->default_settings); if ($section && isset($settings[$section])) { return $settings[$section]; } return $settings; } public function save_settings($settings) { $current_settings = $this->get_settings(); $updated_settings = wp_parse_args($settings, $current_settings); return update_option('jltma_popup_settings', $updated_settings); } public function render_settings_page() { if (isset($_POST['jltma_popup_settings_nonce'])) { if (wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['jltma_popup_settings_nonce'] ) ), 'jltma_popup_settings')) { $this->process_settings_save(); } } $settings = $this->get_settings(); ?>