Inhaltsgebundene Diskussionen für WordPress und statische Websites

Flow-Diskussionen ergänzen einen backendgestützten Kommentarbaum, ohne die WordPress-Kommentardatenbank zu verwenden. Sie funktionieren auf normalen WordPress-Seiten und auf vom Static Publisher exportierten Seiten, da der Browser die Diskussionsdaten über das Flow-Backend liest und schreibt.

Eine Diskussion besteht aus zwei aufeinander abgestimmten Blöcken:

  • Das Flow-Formular erfasst Stammkommentare und Antworten und enthält die maßgebliche Backend-Richtlinie.
  • Der Block Flow Discussion listet öffentliche Einträge auf und zeigt Aktionen zum Antworten, Bearbeiten und Löschen, wenn der aktuelle Besucher dazu berechtigt ist.

Formular-ID, Inhaltsziel und Diskussionskanal müssen übereinstimmen.

Diskussionen zu jedem Beitrag hinzufügen

Fügen Sie die Formular- und Diskussionsblöcke für einen Beitragstyp zu dessen Single-Template hinzu, statt sie in einzelne Beitragsinhalte zu kopieren. Setzen Sie die Zielquelle auf Current WordPress content. Zur Laufzeit identifiziert Flow jeden Beitrag als:

wordpress / <post type> / <numeric post ID>

Jeder Beitrag erhält damit einen eigenen Thread. Neue Beiträge übernehmen automatisch dieselbe Darstellung und Richtlinie.

Speichern Sie das Template oder die Formularquelle und prüfen Sie vor dem Testen des Frontends, dass Backend Sync erfolgreich ist.

Flow-Formular konfigurieren

Öffnen Sie am Formularblock Content binding and discussion und aktivieren Sie Discussion. Flow verlangt daraufhin die dauerhafte Aufbewahrung von Übermittlungen, eine Inhaltsbindung und ein verbindliches Inhaltsziel.

Konfigurieren Sie die Backend-Richtlinie am Formular:

  • Allow replies: Deaktiviere diese Option für Stammkommentare ohne Antworten.
  • Maximum reply depth: 1 bis 5. Stammkommentare haben Tiefe 0, daher erlaubt 1 eine direkte Antwortstufe.
  • Moderation: Neue Einträge automatisch veröffentlichen oder zur Moderation zurückhalten.
  • Comment access: anonym, optionale Anmeldung oder erforderliche Anmeldung.
  • Allowed Cognito groups: Änderungen optional auf Mitglieder einer der aufgeführten Gruppen beschränken.
  • Public author name source: ein Formularfeld oder verifizierte Cognito-Attribute.
  • Public body field: das als Kommentarinhalt veröffentlichte Textfeld.
  • Discussion rating field: optional ein Bewertungsfeld für Bewertungen von Stammkommentaren und die Aggregation auf Diskussionsebene auswählen. Antworten enthalten keine Bewertungen.
  • Optionales Bearbeitungszeitfenster für Autoren sowie Löschen durch Autoren oder Moderatoren.

Die Formulardefinition ist die maßgebliche Quelle im Backend. Halten Sie die Zugriffs- und Gruppeneinstellungen des Diskussionsblocks synchron, damit seine Frontend-Aktionen diese Richtlinie korrekt abbilden.

Diskussionsblock konfigurieren

Form ID

Die Formular-ID wählt das synchronisierte Backend-Formular. Bleibt sie leer, versucht der WordPress-Renderer, die für den aktuellen Inhalt gespeicherte synchronisierte Formular-ID zu verwenden. Geben Sie einen ausdrücklichen Wert an, wenn ein wiederverwendbares Pattern oder Template die korrekten Formularmetadaten nicht übernehmen kann.

Zielquelle

ZielquelleFür den Thread verwendete IdentitätTypische Verwendung
Current WordPress contentwordpress / post type / post IDTemplates für einzelne Beiträge
Explicit content referenceangegebener Namensraum, Typ und IDexterne oder anwendungseigene Entitäten
Canonical page URLkanonischer Ursprung und Pfad als url / pagestabile URL-gebundene Seiten und Exporte

Das Formular muss dasselbe Ziel übermitteln, das der Diskussionsblock liest. Eine Zielabweichung zeigt sich meist als gültige, aber leere Diskussion.

Diskussionskanal

Der Kanal verbindet Browserereignisse zwischen den Formular- und Diskussionsinstanzen auf der Seite. Er bestimmt, welches Formular für eine Antwort geöffnet und welche Liste nach dem Absenden aktualisiert wird. Leere Kanäle werden aus Formular-ID und Ziel abgeleitet.

Ein Kanal ist kein Backend-Partitionsschlüssel. Nur den Kanal zu ändern erzeugt keinen zweiten Thread für dieselbe Formular-ID und dasselbe Inhaltsziel.

Zugriff und Cognito-Gruppen

  • Anonyme Besucher: Für Änderungen ist keine Identität erforderlich.
  • Besucher oder angemeldete Benutzer: Anonyme Besucher sind zulässig, wenn keine Gruppenbeschränkung konfiguriert ist; angemeldete Besucher erhalten Eigentümerberechtigungen.
  • Nur angemeldete Benutzer: Kommentar-, Antwort-, Bearbeitungs- und Löschvorgänge erfordern je nach Fall ein verifiziertes Cognito-Zugriffstoken.

Gruppennamen müssen exakt übereinstimmen und unterscheiden Groß-/Kleinschreibung; die Übereinstimmung mit einer aufgeführten Gruppe genügt. Bei optionaler Authentifizierung und einer nicht leeren Gruppenliste können nur angemeldete Mitglieder dieser Gruppen kommentieren.

Das Lesen von Diskussionen unterliegt einer separaten Richtlinie. Der normale öffentliche GET-Aufruf validiert nicht allein deshalb ein Token, weil eines verfügbar ist. Die Authentifizierung wird nur zur optionalen Berechtigungsanreicherung oder für geschützte Änderungen verwendet.

Seitennavigation und Vorschauen

  • Root page size steuert die Zahl der pro Seite abgerufenen Stammkommentare: 1–50, Standard 20.
  • Reply page size steuert die Zahl der direkten Antworten für einen ausgewählten übergeordneten Kommentar: 1–50, Standard 10.
  • Reply preview count lädt mit jedem anfänglich geladenen Stammkommentar 0–5 direkte Antworten; 0 deaktiviert nur die Vorschauen.

Die Anzahl in der Kopfzeile basiert auf den geladenen Stammkommentaren und ihren vom Backend bereitgestellten Nachkommenanzahlen. Existiert eine weitere Seite mit Stammkommentaren, hängt Flow + an. Die Zahl ist dann noch keine exakte Gesamtzahl für die Diskussion.

Bewertungen und Filter

Wählen Sie im Formular ein Discussion rating field, um Bewertungen zusammen mit Stammkommentaren zu veröffentlichen. Flow verwendet die Sternanzahl und Bruchteileinstellung des gewählten Bewertungsblocks. Ganze, halbe und Drittelsternschritte werden ohne Rundung unterstützt. Während das Formular eine Antwort erfasst, blendet es dieses Feld aus; das Backend verhindert Bewertungen in Antworten ebenfalls.

Der Diskussionsblock kann eine globale Zusammenfassung anzeigen mit:

  • der Anzahl aktuell sichtbarer bewerteter Stammkommentare,
  • ihrem berechneten Durchschnitt,
  • Anzahl und Prozentsatz jedes zulässigen Bewertungsbereichs.

Besucher können außerdem alle Stammkommentare, eine exakte Bewertung oder Bewertungen ab beziehungsweise bis zu einem gewählten Wert anzeigen. Der Filter gilt nur für Stammkommentare; Antworten bleiben ihrem übergeordneten Kommentar zugeordnet. Die Zusammenfassung beschreibt stets die gesamte Diskussion und nicht nur die gefilterte Seite. Autoren können Zusammenfassung oder Filter ausblenden und den anfänglichen Filter im Inspector konfigurieren.

Das Backend speichert Bereichsanzahlen statt eines gerundeten Durchschnitts. Veröffentlichung, Moderation, Ausblenden/Spam, erneute Veröffentlichung, Bewertungsänderungen des Eigentümers, Löschen und Datenschutzbereinigung aktualisieren diese Anzahlen in derselben Transaktion wie den Kommentarstatus. Durchschnitt und Prozentsätze werden beim Lesen der Diskussion berechnet.

Beschriftungen und Datumswerte

Der Inspector kann Titel, Texte für Laden, leeren Zustand, Fehler und Wiederholen, Autoren- und Platzhalterbeschriftungen, Antwort- und Seitennavigationsbeschriftungen, Anzahltexte sowie Bestätigungstexte für Bearbeiten und Löschen überschreiben. Anzahltexte unterstützen den Platzhalter {count}. Andernfalls verwendet Flow seine lokalisierten AWS-Amplify-I18n-Zeichenketten und die Sprache im Flow-Store.

Datumswerte können ausgeblendet oder im vollständigen, langen, mittleren oder kurzen Stil formatiert werden. Der Browser formatiert sie gemäß dem ausgewählten Gebietsschema und dessen lokaler Zeitzone.

Anforderungen an statische Websites

Eine exportierte Diskussionsseite benötigt weiterhin:

  • die Flow-Frontend-Assets und die codierte Blockkonfiguration,
  • eine erreichbare Flow-Backend-URL,
  • den in der Backend-/CORS-Konfiguration zugelassenen Exportursprung,
  • eine stabile Formular-ID und Inhaltsreferenz.

Ein WordPress-Kommentarendpunkt ist nicht erforderlich. Öffentliches Lesen und authentifizierte Änderungen bleiben getrennt. Dadurch kann eine statische Seite alle öffentlichen Kommentare anzeigen, während zum Hinzufügen oder Verwalten eine Cognito-Anmeldung erforderlich ist.

Aktuelle Grenzen

  • Die Antworttiefe ist auf fünf begrenzt.
  • Deaktiviere Allow replies, um Antworten vollständig zu unterbinden; die maximale Tiefe 1 erlaubt weiterhin eine Antwortstufe.
  • Der Inspector bietet derzeit keine Einstellungen für Sortierrichtung oder anfängliche Antworttiefe.
  • Behandle Sternanzahl und Bruchteileinstellung des ausgewählten Bewertungsfelds nach der Veröffentlichung von Bewertungen als unveränderlich. Bestehende Bereiche müssen vor einer Konfigurationsänderung ausdrücklich abgeglichen werden.
  • Öffentliche Antworten enthalten die nicht vertrauliche Antwortrichtlinie des Formulars. Das Frontend beachtet daher dieselben Grenzen für allowReplies und maximale Tiefe bei anonymen und angemeldeten Besuchern.

Fehlerbehebung

  1. Prüfen Sie den Backend-Synchronisierungsstatus und die aufgelöste Formular-ID des Formulars.
  2. Vergleiche Zielquelle und aufgelöste Inhaltsreferenz von Formular und Diskussion.
  3. Gleiche Kanal, Kommentarzugriff und Cognito-Gruppen ab.
  4. Unterscheide öffentliche Lesefehler von Fehlern bei Kommentarberechtigungen.
  5. Prüfen Sie bei erfolgreich übermittelten, aber nicht sichtbaren Kommentaren den Moderationsstatus.
  6. Prüfen Sie bei exportierten Seiten Flow-Assets, Backend-URL, zulässigen Ursprung und Stabilität der kanonischen URL.