check_connection($allowReconnect); } /** * Ensure database connection is active and reconnect if necessary. * * @return bool True if connection is active, false otherwise */ private function ensureConnection() { global $wpdb; if (!isset($wpdb)) { return true; } try { $isConnected = $this->safeCheckConnection($wpdb, false); if (!$isConnected) { $this->logger->debugMessage("Database connection lost, attempting to reconnect..."); if (is_object($wpdb) && method_exists($wpdb, 'db_connect')) { $wpdb->db_connect(); } if ($this->safeCheckConnection($wpdb, false)) { $this->logger->debugMessage("Database reconnection successful"); return true; } $this->logger->errorMessage("Failed to reconnect to database"); return false; } } catch (Exception $e) { $this->logger->debugMessage("Connection check failed: " . $e->getMessage()); return true; } catch (Error $e) { $this->logger->debugMessage("Connection check not available: " . $e->getMessage()); return true; } return true; } }