'aitcpb_sanitize_settings' ]); }); function aitcpb_sanitize_settings($input) { $sanitized = []; $sanitized['enabled'] = !empty($input['enabled']) ? 1 : 0; $sanitized['template'] = in_array($input['template'] ?? '', ['default','image'], true) ? $input['template'] : 'default'; $sanitized['default_width'] = isset($input['default_width']) ? intval($input['default_width']) : 400; $sanitized['image_url'] = isset($input['image_url']) ? esc_url_raw($input['image_url']) : ''; $sanitized['image_link'] = isset($input['image_link']) ? esc_url_raw($input['image_link']) : ''; $sanitized['image_width_vh'] = isset($input['image_width_vh']) ? intval($input['image_width_vh']) : 60; $sanitized['title'] = isset($input['title']) ? sanitize_text_field($input['title']) : ''; $sanitized['content'] = isset($input['content']) ? sanitize_textarea_field($input['content']) : ''; $sanitized['btn_text'] = isset($input['btn_text']) ? sanitize_text_field($input['btn_text']) : ''; $sanitized['btn_link'] = isset($input['btn_link']) ? esc_url_raw($input['btn_link']) : ''; $sanitized['color'] = isset($input['color']) ? sanitize_hex_color($input['color']) : '#000000'; $sanitized['delay'] = isset($input['delay']) ? intval($input['delay']) : 3; $sanitized['animation'] = in_array($input['animation'] ?? '', ['fade','slide','zoom'], true) ? $input['animation'] : 'fade'; $sanitized['target'] = in_array($input['target'] ?? '', ['all','pages','woocommerce'], true) ? $input['target'] : 'all'; $sanitized['selected_page'] = isset($input['selected_page']) ? intval($input['selected_page']) : ''; $sanitized['padding'] = isset($input['padding']) ? intval($input['padding']) : 25; $sanitized['cookie'] = !empty($input['cookie']) ? 1 : 0; $sanitized['start_datetime'] = isset($input['start_datetime']) ? sanitize_text_field($input['start_datetime']) : ''; $sanitized['end_datetime'] = isset($input['end_datetime']) ? sanitize_text_field($input['end_datetime']) : ''; return $sanitized; } /* VERSION UPDATE */ add_action('update_option_aitcpb_settings', function($old_value, $value){ update_option('aitcpb_settings_version', time()); }, 10, 2); /* ============================= SETTINGS PAGE ============================= */ function aitcpb_settings_page() { $o = get_option('aitcpb_settings'); ?>