kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

WordPress: Anzahl der Kommentare und Trackbacks getrennt darstellen

In WordPress ist es mit Bordmitteln, etwa einem Template Tag, leider nicht möglich die Anzahl der Kommentare und die der Trackbacks getrennt von einander darzustellen. In der Datenbank unterscheidet WordPress hingegen beide Typen, und markiert echte Kommentare in einem zusätzlichen Feld. Mit einer entsprechenden Funktion kann geprüft werden ob das Feld ausgefüllt ist, wodurch sich beide Arten von Kommentaren einzeln anzeigen lassen.

Workshops und Seminare von kulturbanause

Visual Prototyping, Responsive Design, CSS Grid & Flexbox, Sketch, Adobe XD …

Jetzt Frühbucher-Rabatte sichern!

Anzahl an Kommentaren darstellen

Der folgende Code gehört üblicherweise in die functions.php. Er kann jedoch auch im gleichen Template eingesetzt werden.
Die Funktion prüft ob Kommentare vorhanden sind und gibt (sofern das Ergebnis nicht Null ist) die Anzahl aus.


function comment_count() { global $post;
$thePostID = $post->ID; global $wpdb;
$count = "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_type = ' '
AND comment_post_ID = $thePostID"; $co_number = $wpdb->get_var($count);
if ($co_number == 0) {} else {echo $co_number;} 
}

Mit folgenden Snippet wird die Anzahl der Kommentare an einer beliebigen Stelle des Themens dargestellt.


<?php comment_count(); ?>

Anzahl der Trackbacks darstellen

Der Code für die Darstellung der Trackbacks funktioniert auf die gleiche Art und Weise. Folgendes Snippet gehört in die functions.php.


function trackback_count() 
{ global $post;
$thePostID = $post->ID;
global $wpdb;
$count = "SELECT COUNT(*) FROM $wpdb->comments
WHERE comment_type != ' '
AND comment_post_ID = $thePostID"; $tb_number = $wpdb->get_var($count);
if ($tb_number == 0) {} else {echo $tb_number;} }

Mit diesem Snippet wird die Anzahl der Trackbacks ausgegeben.


<?php trackback_count(); ?>

Credits

Dieses Snippet habe ich auf denkvirtuose.de gefunden und unverändert übernommen. Es funktioniert einwandfrei und ist auch auf diesem Blog im Einsatz. Vielen Dank dafür!

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Unterstützung bei WordPress-Projekten

Unsere WordPress Agentur ist auf die Entwicklung maßgeschneiderter WordPress-Themes und -Websites spezialisiert. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung eines Projekts benötigst, helfen wir gerne weiter.
WordPress-Leistungsangebot →

Das könnte dich auch interessieren

4 Kommentare

  1. Florian

    Verfasst am 1. Mai 2013 um 18:22 Uhr.

    Vielen Dank für den Tipp, nur eine kleine Anmerkung:
    Bei dieser Variante werden auch Kommentare gezählt, die als Spam eingestuft sind. Mit folgender SQL Query werden nur die genehmigten gezählt:
    $count = "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_type = ' '
    AND comment_post_ID = $thePostID AND comment_approved='1'";

  2. Stephan

    Verfasst am 22. Mai 2013 um 17:12 Uhr.

    Ich habe bei:

    http://koffeinbetriebenes.net/wordpress-anzahl-der-kommentare-je-artikel-ausgeben/488

    gelesen, dass diese Variante sehr viele Datenbank abfragen tätigt. Deshalb wird eine andere Variante empfohlen.

    Und zwar folgenden Code in die comments.php :
    comment_count;
    if($kommentare > 1) echo $kommentare.“ Kommentare“;
    elseif ($kommentare == 1) echo $kommentare.“ Kommentar“;
    else echo „keine Kommentare“;
    ?>

    Es funktioniert ohne Probleme, aber meine Frage ist ob er da wirklich recht hat und es mit dem php-code besser ist
    Gibt es das auch für die Trackbacks?

    • Florian

      Verfasst am 22. Mai 2013 um 17:36 Uhr.

      Also mit der hier vorgestellten Variante wird auf einer Übersichtsseite für jeden Beitrag eine Abfrage für Kommentare und eine für die Trackbackanzahl gemacht.
      Also bei 10 Artikeln bspw. 20 Abfragen für Trackbacks und Kommentare.

      Bei deinem Codebeispiel werden im Übrigen die Trackbacks gar nicht gesondert ausgelesen?!

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.