Komentar-Template in Variable ausgeben

  • Hallo.

    Ich habe verschiedene Kategorien angelegt und mein Template so umgeschrieben, dass die einzelnen Artikel der Kategorie auf einer Übersichtsseite als Thumbnails aufgelistet werden.

    Auf der Übersichtsseite wird gleichzeitig auch der angeklickte Artikel ausgegeben -> per Ajax werden die Daten abgefragt und wieder angezeigt.

    Nun soll bei jedem dieser Artikel eine Komentarfunktion möglich sein.

    Das Problem ist, dass die Funktion "comments_template( '', true )" sofort k visualisiert, und nicht der Ajaxfunktionalität übergibt, so dass diese die Komentare in der Seite plazieren kann:

    Diese ist meine Templateerstellung:

    PHP
    $request1 .= '<div id="post-'.get_the_ID().'">';
    $request1 .= '<h1>'.get_the_title().'</h1>';
    $request1 .= '<div class="entry-content">'.get_the_content().'</div><!-- .entry-content -->';
    $request1 .= '<div class="comment">'.comments_template( '', true ).'</div><!-- comment -->';
    $request1 .= '</div><!-- #post-## -->';

    Und das ist die HTML-Ausgabe:

    HTML
    <div id="comments">
    <!-- hier ist der Kommentarbereich -->
    </div><!-- comments -->
    <div id="post-49">
    <!-- hier ist der eigentliche Artikelinhalt -->
        <div class="comment">
        	<!-- Hier sollte der Kommentarbereich eigentlich ausgegeben werden -->
        </div><!-- comment -->
    </div><!-- post -->

    Was ich bräuchte ist eine art "get_comments_template( '', true )" -Funktion. Oder eine Möglichkeit die Ausgabe rechtzeitig abzufangen und in einer Variablen abzuspeichern.

    Habt ihr eine Idee?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hallo nochmal,

    ich bin leider noch nicht viel weiter. Es gelingt mir nicht anhand der Post_id die dementsprechenden bestehenden comments auszulesen und darzustellen und die Kommentareingabe zu realisieren.

    wie gesagt funktioniert "comments_template()" ja eigentlich, nur gibt es sofort alles aus und es gelingt mir nicht die ausgabe abzufangen.

    Ich habe jetzt herrausgefunden, dass die Funktion "comments_template()" als erstes Argument den Namen einer php-datei übernehmen kann, welches die Templatedatei für die comments darstellt. Als default-wert wird hier die comments.php genutzt.

    Ähnlich scheint auch die Funktion "comment_form()" zu arbeiten. Hier wird aber keine Templatedatei angefordert, (die Ausgabe ist in der Funktion schon enthalten).

    unklar ist mir noch was "do_action()" eigentlich macht.

  • Habe mir jetzt selbst eine Abfrage der Kommentare gebastelt:

    Return ist nun ein strin den ich am mein ajax-return übergeben kann.

    Jetzt kommt vielleicht der schwierigste Teil: das Eingabe formular mit AJAX-request.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!