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
| Zielquelle | Für den Thread verwendete Identität | Typische Verwendung |
|---|---|---|
| Current WordPress content | wordpress / post type / post ID | Templates für einzelne Beiträge |
| Explicit content reference | angegebener Namensraum, Typ und ID | externe oder anwendungseigene Entitäten |
| Canonical page URL | kanonischer Ursprung und Pfad als url / page | stabile 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
allowRepliesund maximale Tiefe bei anonymen und angemeldeten Besuchern.
Fehlerbehebung
- Prüfen Sie den Backend-Synchronisierungsstatus und die aufgelöste Formular-ID des Formulars.
- Vergleiche Zielquelle und aufgelöste Inhaltsreferenz von Formular und Diskussion.
- Gleiche Kanal, Kommentarzugriff und Cognito-Gruppen ab.
- Unterscheide öffentliche Lesefehler von Fehlern bei Kommentarberechtigungen.
- Prüfen Sie bei erfolgreich übermittelten, aber nicht sichtbaren Kommentaren den Moderationsstatus.
- Prüfen Sie bei exportierten Seiten Flow-Assets, Backend-URL, zulässigen Ursprung und Stabilität der kanonischen URL.
