$query, 'media_type' => $mediaType !== '' ? $mediaType : 'auto', 'results' => array_values($results), 'pagination' => $pagination, 'provider_diagnostics' => $providerDiagnostics, 'saved_at' => gmdate('c'), ]; return update_option(self::OPTION_NAME, $snapshot, false) || get_option(self::OPTION_NAME, null) === $snapshot; } public function load(): ?array { $snapshot = get_option(self::OPTION_NAME, null); if (! is_array($snapshot) || trim((string) ($snapshot['query'] ?? '')) === '' || ! isset($snapshot['results']) || ! is_array($snapshot['results'])) { return null; } return [ 'query' => (string) $snapshot['query'], 'media_type' => (string) ($snapshot['media_type'] ?? 'auto'), 'results' => array_values($snapshot['results']), 'pagination' => is_array($snapshot['pagination'] ?? null) ? $snapshot['pagination'] : [], 'provider_diagnostics' => is_array($snapshot['provider_diagnostics'] ?? null) ? $snapshot['provider_diagnostics'] : [], 'saved_at' => (string) ($snapshot['saved_at'] ?? ''), ]; } public function clear(): bool { return delete_option(self::OPTION_NAME); } }