WordPress: Anzahl der Kommentare je Artikel ausgeben

Da eigentlich in jedem WordPress Theme die Anzahl der Kommentare ausgegeben werden, ist das hier sicherlich ein alter Hut, gewundert hat es mich trotzdem. Da ich das via Google nicht gleich gefunden habe, schreibe ich es hier auf.
Um die Anzahl der Kommentare auszugeben, habe ich mich auf die Suche nach der passenden Funktion gemacht und zunächst fündig geworden.
wp_count_comments()
Etwas erweitert und in die Loop gehängt, wurden mir auch schon zu jedem Artikel die Anzahl der Kommentare angezeigt. Wenn man möchte, kann man sich über diese Funktion das ganze unterschieden in ‚moderated‘, ‚approved‘ und ’spam‘ ausgeben lassen. Schön, dachte ich und staunte nicht recht, als ich plötzlich bemerkte, dass für mein Theme plötzlich über 70 Datenbankanfragen nötig waren. Da ich auf der Startseite 50 Artikel (nur mit Titel) ausgebe, kommt da also jedes mal ein Datenbankzugriff hinzu. Über 70 ist aber definitiv zu viel.

Es gibt aber auch eine Möglichkeit ganz ohne zusätzlichen Ballast diese eine Zahl pro Artikel ausgeben zu lassen. Schon mit der ganz einfach Loop wird diese Zahl nämlich für jeden Artikel ausgelesen, da sie ebenfalls in Tabelle wp_posts in einer Spalte gespeichert wird. $post->comment_count

Eine einfache Umsetzung könnte also wie folgt aussehen.

<?php
$kommentare = 0;
$kommentare = $post->comment_count;
if($kommentare > 1) echo $kommentare." Kommentare";
elseif ($kommentare == 1) echo $kommentare." Kommentar";
else echo "keine Kommentare";
?>

Die ausgegebene Zahl beinhaltet zwar auch nur veröffentlichte Kommentare, soweit ich weiß wird dabei aber nicht unterschieden zwischen echten Kommentaren und Trackbacks.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.