Discourse Kommentarbox erscheint zweimal

Es erscheinen 2 Diskurs-Kommentarfelder.

Plattform: WordPress
Theme: Astra

Zuvor haben wir das Extol-Theme verwendet und sind dann zu Astra gewechselt. Der Kommentarabschnitt-Hook wurde von Astra Site Builder hinzugefügt und unter dem Beitrag mit einer Anzeige-Bedingung platziert.

Alle Blogbeiträge zeigen den Kommentarabschnitt normal an, außer 3 Beiträgen (die den Diskurs-Kommentarabschnitt zweimal anzeigen).

Kann mir bitte jemand helfen?

Hallo, das sieht nach einem Problem mit Ihrem Theme aus, oder vielleicht damit, wie Sie den “Astra Site Builder” verwenden, aber lassen Sie uns sehen, ob wir Ihnen trotzdem helfen können.

Könnten Sie vielleicht näher erläutern, wie das aussieht? Haben Sie Code verwendet? Könnten Sie auf die Dokumentation für den “Astra Site Builder” verlinken? Ist es ein Block-fähiges Theme? Versuchen Sie, so viele Details wie möglich anzugeben.

1 „Gefällt mir“

Danke @angus für deine schnelle Antwort.

Eigentlich sehe ich keinen Code, während ich den Code bearbeite, und ich verwende die Standard-Single-Post-Vorlage des Themes, die keinen Discourse-Kommentarcode haben sollte.

Seltsamerweise passiert dies nur mit den folgenden Beiträgen: Strange thing is this happening with only following posts: - Pastebin.com [Bitte überprüfe Pastebin, ich habe dort Links hinzugefügt]

Andere Beiträge zeigen nur die Kommentarbox, die ich mit dem Astra Site Builder hinzugefügt habe.

Ja, Astra ist ein Block-fähiges Theme. Hier ist die Dokumentation: Documentation Docs

Haben Sie den WP Discourse Comments Block verwendet?

1 „Gefällt mir“

Ja, ich habe den WP Discourse Kommentarblock im Astra Site Builder verwendet. Selbst wenn ich den Astra Site Builder Hook deaktiviere, ist diese zusätzliche Discourse-Kommentarbox unter dem Beitrag sichtbar.

Zuvor haben wir das Extol-Theme verwendet. Wir haben den Discourse-Kommentarblock direkt auf der einzelnen Beitragsseite hinzugefügt.

Dann sind wir zu Astra gewechselt.

Astra hat einige Einschränkungen, daher können wir die Standardvorlage für einzelne Beiträge nicht bearbeiten. Deshalb habe ich die Discourse-Kommentarbox über einen Astra Site Builder Hook hinzugefügt, was perfekt funktioniert.

Selbst wenn ich den Astra Site Builder Hook deaktiviere, werden diese 3 Seiten immer noch mit der Discourse-Kommentarbox angezeigt. Wir haben keinen Kommentarbox-Block zum Beitrag hinzugefügt. Und ich konnte wirklich nicht herausfinden, woher er hier kommt.

Bitte deaktivieren Sie die Einstellung „Discourse-Kommentare aktivieren“ unter WP Discourse > Kommentare und teilen Sie mir mit, welche Auswirkungen dies hat (stellen Sie sicher, dass Sie die Einstellungsänderung speichern).

Wenn ich diese Einstellung deaktiviere, verschwinden beide Kommentarfelder.

1 „Gefällt mir“

Ok, Sie können es wieder aktivieren.

Das Problem ist, dass Sie, egal welche Kombination aus Theme und Site-Builder Sie verwenden, sowohl eine PHP-Post-Vorlage als auch eine Block-Post-Vorlage auf derselben Seite haben (das ist nicht normal). Das ist der Grund, warum das passiert.

Wenn Sie beide Vorlagen auf einer einzigen Seite laden möchten, müssen Sie die Zeile comments_template aus der PHP-Post-Vorlage entfernen.

1 „Gefällt mir“

Wenn es von PHP stammt, frage ich mich, warum es nur für bestimmte 3 Beiträge sichtbar ist.
Ich konnte comments_template nicht in der Datei single.php finden. :cry:

1 „Gefällt mir“

Wenn ich Kommentare in den Customizer-Einstellungen deaktiviere, verschwindet nur das Kommentarfeld. Die Discourse-Kommentarbox ist immer noch sichtbar.

1 „Gefällt mir“

Ich konnte es immer noch nicht herausfinden.

Wenn jemand einen Discourse-Forum-Thread kommentiert, erscheint ein neuer Kommentarbereich unter dem zugehörigen Blogbeitrag. Ich konnte comments_template nicht finden.

Könnten Sie bitte einen Artikel oder ein Video-Tutorial dazu vorschlagen?

@angus

1 „Gefällt mir“

Ich habe einen Kommentarbereich mit zusätzlichem CSS ausgeblendet.

Dies ist eine temporäre Lösung. Wenn es einen effektiveren Weg gibt, lassen Sie es mich bitte wissen, ich werde ihn anwenden.

1 „Gefällt mir“

In den von Ihnen verwendeten PHP-Vorlagen gibt es einen Aufruf der Kommentarvorlagenfunktion, der dies verursacht. Er sieht ungefähr so aus:

<?php comments_template(); ?>

Wo er sich befindet, hängt von den von Ihnen verwendeten PHP-Vorlagen ab. Finden Sie diese Funktion und Sie werden das Problem lösen. Leider können wir oder ein Artikel nicht viel mehr Hilfe leisten.

Das Einzige, was ich sonst noch vorschlagen würde, ist, sich an die Leute zu wenden, die “Astra” unterstützen. Das zugrunde liegende Problem ist diese Kombination von PHP-Vorlagen und Blöcken, die Sie verwenden. Vielleicht können sie hier Aufschluss geben.

2 „Gefällt mir“

Zuerst möchte ich mich ganz herzlich bei @angus bedanken, dass er mich dabei unterstützt und mir so wertvolle Ratschläge gegeben hat. Ihre Unterstützung bedeutet mir sehr viel, und ich schätze die Zeit und Mühe, die Sie investiert haben, um mir bei der Fehlersuche zu helfen, aufrichtig. Lassen Sie mich Ihnen alles durchgehen, was ich untersucht und versucht habe, in der Hoffnung, dass es anderen hilft, die mit ähnlichen Problemen konfrontiert sind.

Hintergrund und Ersteinrichtung:
Anfangs verwendeten wir das Extol-Theme, bei dem wir den Discourse-Kommentarblock direkt auf der einzelnen Beitragsseite hinzugefügt haben. Das funktionierte einwandfrei. Als wir zum Astra-Theme wechselten, wurde die Sache komplizierter. Da Astra einige Einschränkungen hat (wie z. B. die Unfähigkeit, die Standardvorlage für einzelne Beiträge einfach zu bearbeiten), habe ich die Discourse-Kommentarbox über Astra Site Builder Hooks hinzugefügt und sie basierend auf einer Anzeige-Bedingung unter dem Beitrag platziert.

Dies funktionierte für die meisten Beiträge reibungslos, aber für drei bestimmte Beiträge erschien der Discourse-Kommentarbereich doppelt. Ich konnte nicht herausfinden, warum dies nur bei diesen Beiträgen geschah, während andere korrekt angezeigt wurden. Diese Anomalie ließ mich vermuten, dass es sich um einen Überrest der alten Extol-Einrichtung handeln könnte, aber ich konnte nichts Definitives feststellen.

Untersuchung des Problems:

  • Ich habe zuerst den Beitragseditor überprüft und nach Einstellungen oder Blöcken gesucht, die für Discourse-Kommentare manuell aktiviert oder deaktiviert worden sein könnten. Überraschenderweise gab es dort nichts – keine zusätzlichen Blöcke, keine anderen Einstellungen.

  • Als Nächstes habe ich den Astra Site Builder Hook deaktiviert, um zu sehen, ob dadurch der zusätzliche Kommentarbereich entfernt wird. Das tat er nicht; die doppelte Box blieb bestehen. Dies deutete darauf hin, dass die Duplizierung außerhalb der Astra Site Builder-Einrichtung erfolgte.

  • Ich habe dann versucht, „Discourse-Kommentare aktivieren“ in den WP Discourse-Einstellungen zu deaktivieren. Wie Sie geraten haben, entfernte dies beide Kommentarbereiche, was darauf hindeutete, dass beide irgendwie über diese Integration generiert wurden.

  • Nachdem ich es wieder aktiviert hatte, tauchte ich tiefer in die Theme-Dateien ein. Ich durchsuchte single.php, content-single.php und andere verwandte Vorlagendateien nach jeder Instanz von comments_template();. Leider konnte ich nichts finden, das diese Funktion explizit aufruft. Das machte mich ratlos. Wenn es sich um ein PHP-Vorlagenproblem handelte, warum konnte ich es nicht finden?

  • Ich habe auch versucht, nach benutzerdefinierten Vorlagen zu suchen. Vielleicht verwendeten diese drei Beiträge eine andere Vorlage? Auch das konnte ich nicht bestätigen. Alles deutete auf die Standardeinrichtung hin.

  • Eine andere Theorie bezog sich auf die Kommentarsynchronisierung – vielleicht löste ein Kommentar im Discourse-Forum einen weiteren Kommentarbereich unter dem entsprechenden Blogbeitrag aus. Das schien plausibel, aber ich konnte keine Einstellung oder Dokumentation finden, die direkt mit diesem Verhalten verbunden war.

  • Ich griff zu einer temporären CSS-Lösung, um den doppelten Kommentarbereich zu verbergen:

    CSS im WP Theme Customizer Zusätzliches CSS hinzugefügt

    #comments {
        display: none !important;
    }
    

    CSS im Astra Hook hinzugefügt:

    #comments {
        display: block !important;
    }
    

    Obwohl dies funktionierte, stimme ich zu, dass es keine dauerhafte Lösung ist. Ich würde lieber die Ursache angehen.

Gedanken und Theorien:

  • Ich vermute, es könnte sich um ein tiefergehendes Problem mit der Art und Weise handeln, wie Astra Hooks und Blöcke handhabt – vielleicht ein Konflikt oder eine Duplizierung bei der Einbettung der Discourse-Kommentare.
  • Eine andere Möglichkeit ist, dass es eine versteckte Einstellung oder eine verbleibende Konfiguration aus dem alten Extol-Theme gibt, die immer noch Einfluss hat.
  • Oder es könnte damit zusammenhängen, wie Discourse mit WordPress synchronisiert wird. Wenn ein Kommentar im Forum gemacht wird, könnte dies etwas innerhalb der WordPress-Website auslösen und diesen zusätzlichen Bereich erstellen.

Was ich noch nicht versucht habe:

  • Kontaktaufnahme mit dem Astra-Support: Wie Sie vorgeschlagen haben, könnte sich dies lohnen. Sie sind möglicherweise auf ähnliche Probleme aufmerksam oder können Einblicke geben, wie ihr Theme Kommentare und Hooks handhabt.
  • Deaktivieren aller Plugins außer WP Discourse: Dies könnte helfen zu isolieren, ob ein anderes Plugin dieses Verhalten verursacht.
  • Testen mit einem komplett neuen Beitrag: Das Erstellen eines neuen Beitrags von Grund auf und das Beobachten, ob das Problem auftritt, könnte etwas aufdecken.

Nächste Schritte:
Vorerst denke ich, dass ich den Astra-Support kontaktieren und möglicherweise weitere Tests mit deaktivierten Plugins durchführen werde. Ich könnte auch einen anderen Ansatz verfolgen, indem ich ein Child-Theme verwende und sehe, ob ich den Discourse-Kommentarbereich präziser manuell handhaben kann.

Nochmals, Angus, vielen Dank für Ihre Hilfe und Geduld. Ihre Einblicke waren von unschätzbarem Wert, und obwohl ich es noch nicht gelöst habe, fühle ich mich dem Verständnis dessen, was passiert, näher. Wenn jemand anderes Gedanken, Einblicke oder Erfahrungen mit ähnlichen Problemen hat, würde ich mich freuen, davon zu hören!

Ich werde weiter graben und hier ein Update geben, wenn ich etwas Neues entdecke. Prost!

2 „Gefällt mir“

Ist die Einstellung Show Existing WP Comments zufällig aktiviert?

2 „Gefällt mir“

Ich habe versucht, die Einstellungen zu aktivieren/deaktivieren, aber das hatte keine Auswirkung auf die zusätzliche Discourse-Kommentarbox.

Danke @Arkshine

1 „Gefällt mir“

Mein Fehler, ich habe nicht auf das richtige Problem geschaut!
Ich dachte, Sie sprächen nur über dieses hier:


Ich denke, Ihr Problem ist zu erwarten.
Das Astra-Theme unterstützt die Funktion Full Site Editing nicht und funktioniert nicht mit Blöcken.
Mit anderen Worten, Astra ist kein Block-Theme, und um Seiten anzupassen, benötigen Sie einen Drittanbieter-Page-Builder (wie in Ihrem Fall Elementor).

Sie werden sicherlich eine Duplizierung sehen, wenn Sie den Discourse-Block nicht verwenden, um den ursprünglichen Kommentarblock zu ersetzen. Angus zeigt in seinem Video, was Sie tun müssten, wenn Sie ein Block-Theme hätten: WP Discourse Comments Block.

Sie ersetzen den Kommentarbereich nicht, wenn Sie den Discourse-Block über Hooks hinzufügen; Sie platzieren benutzerdefinierten Code an einer bestimmten Stelle.


Was ist die Lösung?

Wenn Sie das Aussehen/den Speicherort des Astra-Hooks bevorzugen, gibt es eine Möglichkeit, den nativen WP-Kommentarbereich zu entfernen. Sie können diesen PHP-Code hinzufügen. Wenn Sie Hilfe benötigen, lesen Sie How to Add Custom PHP Code in the Astra Theme?.

add_action(
	'init',
	function() {
		if ( class_exists( 'Astra_Loop' ) ) {
			remove_action( 'astra_template_parts_content', array( Astra_Loop::get_instance(), 'template_parts_comments' ), 15 );
		}
	},
	11
);

Ich hoffe, das hilft!

4 „Gefällt mir“

Vielen Dank, @Arkshine! :tada:
Endlich ist die native Kommentarfunktion nicht mehr sichtbar – was für eine Reise das war!

Und ein riesiges Dankeschön auch an @angus. Ihre Geduld, Anleitung und tiefen Einblicke waren während dieses Prozesses von unschätzbarem Wert. Ich schätze die Zeit und Mühe, die Sie investiert haben, um mir bei der Lösung dieses Problems zu helfen, aufrichtig.

Vom Testen verschiedener Einstellungen bis zum Debuggen der Mischung aus Block- und PHP-Vorlagen habe ich alles erkundet – vom Deaktivieren von Astra-Hooks über das Anpassen von CSS, das Überprüfen der Kommentarvorlage bis hin zum Aufspüren, warum nur bestimmte Beiträge betroffen waren. Es war eine Achterbahnfahrt von Versuch und Irrtum, aber jeder Schritt half mir, das System besser zu verstehen.

Dies wäre ohne Ihr Fachwissen und Ihre Hilfsbereitschaft nicht möglich gewesen. Ihre Hilfe hat nicht nur das Problem behoben, sondern mir auch so viel über WordPress, Discourse und Theme-Integrationen beigebracht. Ich bin überaus dankbar.

An alle, die mit ähnlichen Problemen konfrontiert sind: Testen Sie weiter, lernen Sie weiter und zögern Sie nie, um Hilfe zu bitten. Die Community ist erstaunlich! :rocket:

3 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.