Eigene Kommentare in WordPress hervorheben

Wie ich finde, ist das Hervorheben eigener Kommentare eine sehr sinnvolle Funktion, da Besucher somit direkt sehen können, wenn der Autor eines Beitrages diesem etwas Ergänzendes zuzufügen hatte, oder Fragen in den Kommentaren beantwortet hat.

Dies lässt sich natürlich über ein Plugin regeln, allerdings highlighted das einzige mir sinnvoll erscheinende Plugin nur den Text eines Kommentars und nicht die ergänzenden Informationen um den Kommentar herum (Datum, Autor, Homepage, etc.). Da es sich letztendlich um eine Design-Aufgabe handelt, macht es in der Regel mehr Sinn, eine solche Funktion fest im Theme zu verankern.

Innerhalb von Themes wird die Darstellung von Kommentaren in der Regel in der Datei comments.php geregelt. Dort werden normalerweise in einer foreach-Schleife 0:n Kommentare dargestellt. Ich drücke mich hier übrigens gerade mit Absicht etwas schwammig aus, da natürlich jedes Theme Kommentare anders darstellt. Normalerweise sollte die foreach-Schleife wie folgt aufgebaut sein:

foreach ($comments as $comment) {
}

Innerhalb dieser Schleife wird jeweils ein Kommentar dargestellt. Um die eigenen Kommentare nun hervorzuheben, müssen wir lediglich herausfinden, wer den gerade aktuellen Kommentar geschrieben hat. Am einfachsten geht dies über die folgende Abfrage innerhalb der Foreach-Schleife:

 if (1 == $comment->user_id) {
     // Abweichendes Design hier
}

Wenn also die ID des Users, der den Kommentar geschrieben hat gleich 1 ist (Administrator, der erste im System angelegte Account), dann weiche von der Darstellung ab. Das System ist ganz nett, allerdings besitzt es auch seine Schwächen. Wir wollen ja nicht die Kommentare des Administrators highlighten, sondern die des Autors eines Beitrages. Aus diesem Grund wäre es geschickter die Variable

$comment->comment_author_email

abzufragen. Dazu müsste man sinnvollerweise wissen, wie die E-Mail-Adresse des Autors ist, und genau diese Information enthält uns – je nach Aufbau des Themes – WordPress vor.  Hat man nur einen Schreiberling in seinem Blog kann man diese Information natürlich hart codieren, aber spätestens bei Gast-Autoren fangen die Probleme an.

Grund für das Nichtfunktionieren dieser Abfrage ist es, das auch die Beiträge innerhalb einer Schleife ausgegeben werden.  Dies gilt auch dann, wenn es sich nur um einen einzigen Beitrag handelt (z. B. single.php).  Informationen über den Autor eines Beitrages kann ich nur innerhalb dieser Schleife erhalten, außerhalb der Schleife ist er ein vollkommen Unbekannter. Dummerweise haben Theme-Autoren (oder solche, die es werden wollten) teilweise die dumme Angewohnheit die Kommentare außerhalb dieser Schleife einzubinden. Über Sinn und Zweck dieser Aktion kann man jetzt zwar vortrefflich diskutieren, aber das Resultat bleibt gleich. Es ist (einfach!) nicht möglich die entsprechenden Funktionen abzufragen.

In diesem Falle bleibt nur der Umbau des Themes bzw. das Hartcodieren von zum Beispiel der E-Mail-Adresse, hier muss jeder für sich selbst klären, ob der Aufwand in Relation zum Nutzen steht. Ist die comments.php innerhalb von the_loop eingebunden, kann man folgenden Befehl verwenden, um die E-Mail-Adresse des Autors abzufragen:

// Vor Version 2.8
echo get_the_author_email();
// Ab Version 2.8
echo the_auhor_meta('user_email');

Eine sinnvolle Abfrage sähe demnach wie folgt aus:

if ($comment->comment_author_email == the_author_meta('user_email')) {
     echo "style='background-color: yellow;'";
}

Einfach mal ausprobieren, aber wie gesagt: kann funktionieren, muss aber nicht :)

Ähnliche Beiträge

Social Media Marketing Bar für WordPress Sergej Müller ist ja ein alter bekannter in diesem Blog, ich setze einige seiner Plugins ein, und nicht zuletzt wpSeo. Schon vor geraumer Zeit hat er ...
Lazy Image Loading mit WordPress Ich bin Blog-technisch ein 1a Verfechter von "Wie macht Caschy das", den im Gegensatz zu unsereins hat er noch ganz andere Probleme als wir, nämlich d...
FeedBurner, wp FeedStats und Abonnentenzahlen Direkt zum Anfang möchte ich sagen, ich mag FeedBurner nicht :) Der Dienst ist unzuverlässig und es ist mir ziemlich schleierhaft, wie die Abonnenten-...
Plädoyer pro WordPress Vor einigen Jahren wurde mir von einem Vertreter eines großen deutschen Verlages gesagt, dass die deutsche Presse selbst dann ein Haar in der Suppe fi...

4 Antworten auf „Eigene Kommentare in WordPress hervorheben“

  1. Pingback: Wordpress: Eigene Kommentare hervorheben | guat.ch
  2. Pingback: Links (8. Juli 2009 - 10. Juli 2009) | Testspiel.de
  3. Pingback: t3n-Linktipps: Twitter-Suche bei Xing, Eclipse „Galileo“, Netzsperren-Interview, Grimme Online Award, Filesharing mit FriendFeed » t3n Magazin

Schreibe einen Kommentar

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