Trackbacks und Kommentare trennen

  • Hallo und guten morgen zusammen,
    ich bastle gerade an meiner Comments.php und wollte gerne die Trackbacks, Pingbacks und kommentare voneinander trennen und jeweils anders designen.
    Jetzt habe ich bei Texto, Bueltge und diversen anderen Seiten Lösungen dazu gefunden, die ich zwar nicht ganz verstehe aber trotzdem zusammengebaut habe. folgendes kam dabei raus:

    Die letzte Zeile macht mir dabei Probleme und leider habe ich noch nicht herausgefunden wie ich die umschreiben muss, damit es funktioniert. Ich habe dann gleich mal die FAQ und die DOKU bemüht, aber ich werde nicht schlauer.

    Hier also meine Bitte um Hilfe und ein "Vielen Dank" schon mal vorab.

    Lieben Gruss
    Sascha

    • 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

  • Du würdest die Chancen auf eine Antwort sehr erhöhen, wenn Du dazu schreibst, was an Deinem Code nicht funktioniert, wie es sich äußert etc. ;-)

    Davon abgesehen bin ich nicht sicher, ob ich verstehe, was der Code tun soll. Du gehst also dreimal die Liste aller Comments durch und gibst dann für jeden Comment die Liste aller Comments aus!? Das ist es doch, was wp_list_comments tut, oder muss ich das Callback-Argument mal nachschlagen?! Anyway, das kommt mir unnötig kompliziert vor. Kann wp_list_comments das nicht von sich aus?

    Hier die Doku der Funktion:
    http://codex.wordpress.org/Template_Tags/wp_list_comments

    Basierend darauf denke ich müsste Dein Code eher so aussehen:

    Macht es im übrigen Sinn, Trackbacks und Pingbacks zu trennen?! Falls nicht, kannst Du beide auf einen Schlag mit "pings" statt "trackback" und "pingback" erfassen. Es müsste ansonsten vielleicht noch was dazu für die Behandlung des Falles, dass die jeweilige Liste mal leer ist.

    Einmal editiert, zuletzt von Ammaletu (3. September 2009 um 17:24)

  • Du hast das Problem schon exact auf den Punkt gebracht. Ich habe dreimal die Kommentarschleife durchlaufen. Mit deinem Code funktioniert das aber optimal. Danke dafür.
    Das Problem was du zum schluss angesprochen hast, bezüglich wie man es löst die Anzeige zu canceln, wenn kein Track oder Pingback angezeigt wird, ist dann das nächste Problem.
    Gibts dazu auch nen Schnipsel, den du auf die schnelle hast? Sonst wurschtel ich mich wieder durch.

    Danke schön

  • [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Ich habe ein ähnliches Problem. In der Summirung der Kommentare (Pinks und Kommentare) sollen nur Kommentare gezählt werden.
    Ich vermute in diesen Zeilen ist es möglich, aber ich stehe da gerade auf dem Schlauch.

    archive.php:

    PHP
    <a class="wpn_comments" href="<?php the_permalink() ?>#comments"><strong><?php comments_number(__('0'), __('1'), __('%')); ?></strong> Kommentare</a>


    comments.php:

    PHP
    <?php comments_number('Keine Antworten', 'Eine Antwort', '% Antworten' );?>



    In was ändere ich die Zeilen ab, damit keine Pings aufgezählt werden?

  • Die Doku der Funktion ist hier:
    http://codex.wordpress.org/Template_Tags/comments_number

    Es sieht leider nicht so aus, als könnte die Funktion das. Ich habe mal reingeschaut, aber innen drin holt die die Zahl einfach von $post->comment_count, da steht es also scheinbar auch schon aufsummiert drin. Eine einfache Trennung fällt mir da aktuell leider nicht ein, außer sich halt die Kommentare alle zu holen und zu zählen. Aber das ist vielleicht etwas overkill dafür. Vielleicht kennt ja jemand anders hier noch einen einfachen Weg?

  • Nochmal aufgegriffen

    Hey,

    erstmal Thx - Ihr seid die besten. Mit den Erkläurngen liess sich das Kinderleicht realisieren.

    Nur eine Frage habe ich noch .. wie kann ich Pings und Trackbacks zusammen ausgeben - Sprich gemixed nach "Erscheinungsdatum".


    Notfalls gehts auch so ...

    PHP
    <ul>
               <?php wp_list_comments('type=pingback&callback=art_comment'); ?>
               <?php wp_list_comments('type=trackback&callback=art_comment'); ?>
    </ul>

    aber "Mixed" wäre besser? Welchen "wohl" simplen Befehl muss ich vereinen?

    Thx und Gruß
    NML
    [COLOR=#000000] [/COLOR]

    <?php if (have_read_this()) : while (have_read_this()) : read_it_again(); ?>

  • Ich würde auch sehr gerne meine Kommentare von den Trackbacks trennen. Nur leider sehe ich den Wald vor lauter Bäumen nicht; ich weiß nicht, wo ich den Code von Maxe einbauen könnte. Hier ist meine vollständige comments.php:


    Ich bin für jedwede Hilfe Dankbar!!

  • Sers,

    ACHTUNG: Speicher vorher Dein Theme auf Deinem rechner - ich hab nur eben schnell drüber geschaut. Kann sein dass ein endif zu viel ruageflogen ist etc.

    Du würdest auch selber drauf kommen.

    Hier eben schnell ..

    http://codex.wordpress.org/Template_Tags/wp_list_comments

    Da findest Du die "function" - (function mytheme_comment)

    Den ganzen schmarren baust Du in deine functions.php ...


    Danach kommt dan eben der Rest in die Comments.php

    PHP
    <?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>
    <?php wp_list_comments('type=trackback&callback=mytheme_comment'); ?>
    <?php wp_list_comments('type=pingback&callback=mytheme_comment'); ?>

    Und das fliegt dafür raus .. .


    Die "Darstellung kannst Du dann im functions.php" ändern - kannst Auch neue Funktionen auf "mytheme_comment" basierend schreiben um alles anzupassen.

    Cya and ve Fun!


    [COLOR=#000000][COLOR=#0000BB]
    [/COLOR][/COLOR]

    <?php if (have_read_this()) : while (have_read_this()) : read_it_again(); ?>

  • Nur eine Frage habe ich noch .. wie kann ich Pings und Trackbacks zusammen ausgeben - Sprich gemixed nach "Erscheinungsdatum".


    Ping- und Trackbacks lassen sich mit dem Parameter "pings" zusammen ausgeben.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Hallo, darf ich mich mal hier einklinken.
    Leider habe ich von den PHP und WordPressfunktionen, keinen großen Schimmer. Wenn man das Internet abgrast, um einen Tipp zu bekommen, wie man Track/Pingbacks und Kommentare getrennt anzeigen lässt, sind viele Tipps, wie ich das verstehe, zu "alt".

    Ist es vielleicht möglich, das mir jemand hilft, in welche php-Seite, ich welchen Code einfügen muss, bzw, wie die comments.php aussehen muss, damit die Track/Pingbacks und Kommentare, getrennt angezeigt werden (erst die Track/Pingbacks und drunter die Kommentare)?

    Die comments.php, sieht wie folgt, aus:

    Vielen Dank, im Voraus.

    Urgixgax

  • Ich hätte auch gerne beides getrennt. Wie kann ich das bei mir machen denn bei mir ist die Comments anders als bei den anderen daher ka wo ich was einfügen muss. Hier mein Code:

  • Dein Theme scheint da etwas angepasst zu sein. Aber so vom ersten Eindruck würd ich es so machen:

    PHP
    <ul class="commentList<?php if($arjunaOptions['commentDisplay']=='left') { echo ' commentListLeft'; } elseif($arjunaOptions['commentDisplay']=='right') { echo ' commentListRight'; } elseif($arjunaOptions['commentDisplay']=='alt') { echo ' commentListAlt'; } ?>">
        <?php wp_list_comments('[COLOR=Red]type=comments&[/COLOR]callback=arjuna_get_comment'); ?>
    </ul>
    
    
    <ul class="commentList<?php if($arjunaOptions['commentDisplay']=='left') { echo ' commentListLeft'; } elseif($arjunaOptions['commentDisplay']=='right') { echo ' commentListRight'; } elseif($arjunaOptions['commentDisplay']=='alt') { echo ' commentListAlt'; } ?>">
        <?php wp_list_comments('[COLOR=Red]type=pings[COLOR=SeaGreen]&callback=list_pings[/COLOR][/COLOR]'); ?>
    </ul>

    So hättest du die beiden getrennt. Evtl. müsstest du dann auch noch für die pings ein callback in der functions.php anlegen, z.B. callback=list_pings welches dann wie folgt in der functions.php formatiert werden kann:

    PHP
    <?php
    // formatiert ueber die callback-Funktion die Pings in den Kommentaren
      function list_pings($comment, $args, $depth) {
           $GLOBALS['comment'] = $comment;
      ?>
      <li id="comment-<?php comment_ID(); ?>">
      <?php comment_author_link(); ?>
      <?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?>
      <?php comment_text() ?>
    <?php } ?>

    Musst du halt selber mal ein bisschen rum probieren.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Danke maxe, allerdings funktioniert es nicht. Habe mal nur den ersten Code eingetragen da mir das schon reichen würde aber jetzt sehe ich keine Kommentare mehr. Sehe zB das 4 da sind aber ich kann diese nicht mehr sehen und eine Auswahl ist auch nicht da.

  • nach genauem hinschauen hatte ich wohl auf die schnelle ein "s" zuviel bei
    [COLOR=Red]type=comment [/COLOR]geschrieben:

    PHP
    <ul class="commentList<?php if($arjunaOptions['commentDisplay']=='left') { echo ' commentListLeft'; } elseif($arjunaOptions['commentDisplay']=='right') { echo ' commentListRight'; } elseif($arjunaOptions['commentDisplay']=='alt') { echo ' commentListAlt'; } ?>">
        <?php wp_list_comments('type=comment&callback=arjuna_get_comment'); ?>
    </ul>
    
    
    <ul>
        <?php wp_list_comments('type=pings'); ?>
    </ul>

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Jetzt habe ich alles doppelt aber noch immer keine geteilte anzeige.

Jetzt mitmachen!

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