Bei Björn ist heute zu lesen, wie man auf einfachste Art und Weise jeden Kommentar mit einer Nummer versieht. Das und ein Blick in meinen Wordpress Entwürfe Ordner haben mich daran erinnert, dass ich vor einiger Zeit schonmal darüber schreiben wollte, wie man Kommentare des Blogauthors ganz einfach hervorheben kann.
Alles was man braucht sind lediglich ein paar Zeilen Code, die in der comments.php des Themes eingefügt werden. Zuerst sucht man sich folgende Stelle im Quellcode.
< ?php foreach ($comments as $comment) : ?>
Direkt darunter fügt man dann selbiges hinzu:
< ?php
$isByAuthor = false;
if($comment->comment_author == ‘Max Mustermann’) {
$isByAuthor = true;
}
?>
Alles, was man jetzt noch machen muss ist eine Klasse für den Author einzuführen, die man dann gesondert im Stylesheet verschönern kann. Dazu sucht man sich diese Stelle (ich gehe vom Standard Wordpress Theme aus):
< li class="< ?php echo $oddcomment; ?>” id=”comment-< ?php comment_ID() ?>“>
und fügt eine if-Abfrage ein, dass der Code letztlich so aussieht:
< li class="< ?php if($isByAuthor ) { echo 'author';} else { echo $oddcomment; } ?>” id=”comment-< ?php comment_ID() ?>“>
Jetzt gilt es lediglich noch die Klasse author im Stylesheet den eigenen Wünschen anzupassen und fertig ist der hervorgehobene Kommentar. Vorsicht ist allerdings geboten, denn wie nicht schwer zu erraten ist besteht dabei die Möglichkeit des Missbrauchs, wenn sich jemand mit deinem Namen einloggt. Sinnvoll ist es daher einen doppelten Boden einzubauen d.h. eine weitere Variable auf die oben geschilderte Weise abzufragen.
Wordpress und die Kommentare
06.März 2006
Gepostet um 15:00 abgelegt unter CSS, Wordpress

Wenngleich ich die Idee an sich sehr begrüssenswert finde und auch auf meiner eigenen Seite verwende, so bin ich dennoch der Meinung, dass die spezielle Kennzeichnung eines Kommentars als vom Autoren selbst mehr Information als gestalterisches Element ist. Insofern sollte vielleicht im Sinne der Barrierefreiheit auch im Markup selbst (vielleicht als Text, so wie bei mir) zusätzlich noch diese Information ersichtlich sein, und nicht nur in der CSS-Datei.
(Siehe auch 24 ways: Naughty or Nice? CSS Background Images.)
Hallo Silentwarrior,
den Link hast du mir glaube ich schonmal hinterlassen. Ich verstehe nicht ganz, was du damit sagen willst?! Man sieht doch die Änderungen im Markup. Die neue Klasse heißt author.
Das geht auch besser, Knut:
class=”comment_author_email == get_the_author_email()) { echo ‘authorcomment’; } ?> comment”
Dann braucht der Name nicht angepasst werden für jedes Blog, und sollte der sich ändern, auch nicht schlimm, die werden immer noch hervorgehoben.
Leider ist die Idee nicht von mir sondern von den K2 Entwicklern.
Die Email-Adresse kann ggfs. auch missbraucht werden, nämlich wenn jemand die E-Mail-Adresse des Autors verwendet (die ja in vielen Blogs z.B. unter “About” oder “Kontak” ersichtlich ist). Ich mache das unter WP 2.0 über die user_id, siehe Autor-Hervorhebung. Hat aber auch einen Nachteil: Hat ein Blog mehrere registrierte User, so klappt das dann nicht mehr bzw. wird für jeden registrierten User die CSS-Klasse gesetzt. Ich denke sinnvoll ist wohl die Kombination aus “user_id != 0″ und comment_author_email, damit sollte es fast perfekt sein :-)
@ Pablo
Interessante Idee das probier ich mal, aber der Einwand von Michael bleibt doch bestehen, oder?
Knut: Kann gut sein, dass ich den Link hier schonmal gepostet habe. Ich finde den Artikel einfach grossartig.
Es geht um folgendes: Ja, die CSS-Klasse ist zwar im Markup vorhanden. Aber Screenreader oder Lynx haben davon genau überhaupt keinen Nutzen. Das meine ich. Es sollte auch noch auf inhaltlicher, und nicht erst auf Designebene eine Unterscheidung zu den anderen Beiträgen stattfinden.
Ja… Nach genaueren Tests.. Tatsächlich, der Fehler besteht.
Hier noch ein mal mit Michaels Verbesserungs Idee, die auch wirklich klappt:
class="comment_author_email == get_the_author_email() && $comment->user_id != 0) { echo 'authorcomment'; } ?> item"Eventuell verstehe ich dich falsch, denn mir scheint das ein wenig übertrieben. Ich würde es mir gern bei dir anschauen, aber deine Seite scheint derzeit nicht zu funktionieren.
Ein Screenreader liest doch den Namen den Kommentierenden vor, da der ja im Markup zu sehen ist. Und da man eigentlich weiß, wessen Seite man besucht sollte doch allen gedient sein?! Ich bin ein Freund der Zugänglichkeit, aber das scheint mir nicht durchgängig logisch. Bitte evtl. um Aufklärung.
So, jetzt funktioniert sie wieder.
Ist natürlich Ansichtssache. Ich bin einfach der Meinung, wenn man den Usern mit CSS über das Design zusätzliche Informationen bietet, sollte man die auch allen anderen Usern zur Verfügung stellen. Natürlich bist du am Namen eindeutig zu erkennen, aber offensichtlich ist es doch mühsam, erst danach suchen zu müssen (sonst wären deine Kommentare ja nichts besonders gehighlightet). Und auf diesen Luxus sollte meiner Meinung nach keiner verzichten müssen.
Meine Seite ist da keineswegs das ideale Beispiel, da bei mir optisch überhaupt keine Unterscheidung gemacht wird (das ist das andere Extrem).
[…] Wordpress und die Kommentare […]