dynamicinternet Webdesign

Das Blog

Themen, Tutorials sowie Tipps & Tricks über Webdesign, (X)HTML und CSS, Programmierung, WordPress und was uns sonst noch bewegt.

RSS abonnieren

Kommentar und Trackback Count

In WordPress 2.7 hat sich im Kommentarbereich viel geändert. Grund genug, sich etwas näher mit der comments.php zu beschäftigen und ein paar Änderungen vorzunehmen. Ich möchte vor allem die Kommentare von den Ping- und Trackbacks trennen. Wie das gemacht wird, hat Matt in dem Tutorial Separating Pings from Comments beschrieben. Ich werde hier darauf nicht näher eingehen, abschreiben könnt ihr selber ;) .
Eine Kleinigkeit dabei hat mir nicht so gefallen. Um die Anzahl der Kommentare abzüglich der Pings anzuzeigen, schreibt er folgende Funktion in die functions.php:


<?php
add_filter('get_comments_number', 'comment_count', 0);
function comment_count( $count ) {
	global $id;
	$comments_by_type = &separate_comments(get_comments('post_id=' . $id));
	return count($comments_by_type['comment']);
}
?>

Das wirkt sich natürlich überall aus, wo get_comments_number() intern aufgerufen wird. Bei mir zB. unter der Artikelüberschrift. Wenn man beispielsweise keinen Kommentar hat und 2 Pingbacks, würde dort 0 Kommentare stehen, obwohl der Pingback ja auch ein Kommentar ist. Also habe ich eine andere Lösung bevorzugt:


<?php
if ( ! empty($comments_by_type['comment']) ) :
    $ccount = count($comments_by_type['comment']);
    ($ccount !== 1) ? $txt = "Kommentare" : $txt = "Kommentar"; ?>
    <h3 id="comments"><?php echo $ccount . " " . $txt; ?></h3>

Und nochmal vor der Ausgabe der Ping-/Trackbacks:


<?php
if ( ! empty($comments_by_type['pings]) ) :
    $pcount = count($comments_by_type['pings']);
    ($pcount !== 1) ? $ptxt = "Ping-/Trackbacks" : $ptxt = "Ping-/Trackback"; ?>
    <h3 id="comments"><?php echo $pcount . " " . $ptxt; ?></h3>

Jetzt bleibt die Funktion get_comments_number() von der Separation unberührt und alles hat seine Ordnung.

keine Kommentare
Einen Kommentar schreiben