Diese Anleitung bezieht sich ausschließlich auf WordPress 2.7 und die darin enthaltenen neuen erweiterten Kommentarfunktionen. Wie man die Kommentare in seinem eigenen Theme für WordPress 2.7 bereit macht kann man hier und hier (auf deutsch) nachlesen.
WordPress hat seit ewigen Zeiten die Unsitte, Kommentare sowie Ping-/Trackbacks zusammen zu zählen, obwohl letztere keine wirklichen Kommentare sind. Hat man zum Beispiel wie hier beschrieben die Ausgabe nach Kommentaren und Ping-/Trackbacks getrennt, so ist die Anzahl auch schlicht falsch. Dies lässt sich jedoch leicht beheben.
Um per default nur noch die Kommentare zu zählen fügt man folgendes in der functions.php im Theme-Ordner ein. Ist diese Datei noch nicht vorhanden kann man sie einfach neu erstellen. Gibt es die Datei schon, so lässt man <?php und ?> aus dem folgenden Codeschnipsel weg und fügt ihn direkt vor dem letzten ?> ein:
< ?php
function ping_count( $count ) {
global $id;
$comments_by_type = &separate_comments(get_comments('post_id=' . $id));
return count($comments_by_type['pings']);
}
function comment_count( $count ) {
global $id;
$comments_by_type = &separate_comments(get_comments('post_id=' . $id));
return count($comments_by_type['comment']);
}
add_filter('get_comments_number', 'comment_count', 0);
?>
Zuerst einmal werden zwei neue Funktionen namens ping_count und comment_count erstellt, die jede für sich die Kommentare bzw. Ping-/Trackbacks zum jeweiligen Beitrag zählen. Zusätzlich wird noch ein Filter auf die WordPress-Funktion get_comments_number angewendet, damit diese fortan die Funktion comment_count nutzt - und damit Ping-/Trackbacks nicht mehr mitzählt. Im Standard-Theme muss jetzt nicht mehr verändert werden, hat man sich eine separate Anzeige der Ping-/Trackbacks gebastelt, kann man beispielsweise in der zugehörigen Überschrift die Anzahl mit
< ?php echo ping_count(); ?>
ausgeben lassen.