'/settings', 'methods' => 'POST', 'callback' => [$this, 'save_settings'], ], ]; } /** * Save core plugin settings. */ public function save_settings(\WP_REST_Request $request) { $section = sanitize_text_field($request->get_param('section')); $settings = $request->get_param('settings'); $allowed_sections = [ 'ultimate_store_kit_active_modules', 'ultimate_store_kit_edd_modules', 'ultimate_store_kit_general_modules', 'ultimate_store_kit_other_settings', ]; if (!in_array($section, $allowed_sections, true)) { return $this->error('invalid_section', 'Invalid section'); } $sanitized = $this->sanitize_settings($settings); update_option($section, $sanitized); return $this->success(['message' => __('Settings saved successfully.', 'ultimate-store-kit')]); } }